dfx 0.18.1 → 0.18.2

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.
@@ -1,22 +1,22 @@
1
1
  import { EffectSource } from "callbag-effect-ts/Source";
2
2
  import { Discord } from "dfx";
3
3
  import { ParentCacheOp, CacheOp } from "./index.js";
4
- export interface OpsSourceOpts<R, E, A> {
4
+ export interface OpsSourceOpts<E, A> {
5
5
  id: (a: A) => string;
6
- fromParent: EffectSource<R, E, [parentId: string, resources: A[]]>;
7
- create: EffectSource<R, E, [parentId: string, resource: A]>;
8
- update: EffectSource<R, E, [parentId: string, resource: A]>;
9
- remove: EffectSource<R, E, [parentId: string, id: string]>;
10
- parentRemove: EffectSource<R, E, string>;
6
+ fromParent: EffectSource<never, E, [parentId: string, resources: A[]]>;
7
+ create: EffectSource<never, E, [parentId: string, resource: A]>;
8
+ update: EffectSource<never, E, [parentId: string, resource: A]>;
9
+ remove: EffectSource<never, E, [parentId: string, id: string]>;
10
+ parentRemove: EffectSource<never, E, string>;
11
11
  }
12
- export declare const source: <R, E, T>({ id, fromParent, create, update, remove, parentRemove, }: OpsSourceOpts<R, E, T>) => import("callbag-effect-ts/Source").EffectSource<R, E, ParentCacheOp<T>>;
13
- export interface NonParentOpsSourceOpts<R, E, A> {
12
+ export declare const source: <R, E, T>({ id, fromParent, create, update, remove, parentRemove, }: OpsSourceOpts<E, T>) => import("callbag-effect-ts/Source").EffectSource<never, E, ParentCacheOp<T>>;
13
+ export interface NonParentOpsSourceOpts<E, A> {
14
14
  id: (a: A) => string;
15
- create: EffectSource<R, E, A>;
16
- update: EffectSource<R, E, A>;
17
- remove: EffectSource<R, E, string>;
15
+ create: EffectSource<never, E, A>;
16
+ update: EffectSource<never, E, A>;
17
+ remove: EffectSource<never, E, string>;
18
18
  }
19
- export declare const nonParentSource: <R, E, T>({ id, create, update, remove, }: NonParentOpsSourceOpts<R, E, T>) => import("callbag-effect-ts/Source").EffectSource<R, E, CacheOp<T>>;
20
- export declare const guilds: import("callbag-effect-ts/Source").EffectSource<import("../DiscordGateway/index.js").DiscordGateway, never, CacheOp<import("../types.js").Guild>>;
21
- export declare const channels: import("callbag-effect-ts/Source").EffectSource<import("../DiscordGateway/index.js").DiscordGateway, never, ParentCacheOp<import("../types.js").Channel>>;
22
- export declare const roles: import("callbag-effect-ts/Source").EffectSource<import("../DiscordGateway/index.js").DiscordGateway, never, ParentCacheOp<import("../types.js").Role>>;
19
+ export declare const nonParentSource: <R, E, T>({ id, create, update, remove, }: NonParentOpsSourceOpts<E, T>) => import("callbag-effect-ts/Source").EffectSource<never, E, CacheOp<T>>;
20
+ export declare const guilds: import("../global.js").Effect<import("../DiscordGateway/index.js").DiscordGateway, never, import("callbag-effect-ts/Source").EffectSource<never, never, CacheOp<import("../types.js").Guild>>>;
21
+ export declare const channels: import("../global.js").Effect<import("../DiscordGateway/index.js").DiscordGateway, never, import("callbag-effect-ts/Source").EffectSource<never, never, ParentCacheOp<import("../types.js").Channel>>>;
22
+ export declare const roles: import("../global.js").Effect<import("../DiscordGateway/index.js").DiscordGateway, never, import("callbag-effect-ts/Source").EffectSource<never, never, ParentCacheOp<import("../types.js").Role>>>;
package/Cache/gateway.js CHANGED
@@ -3,6 +3,7 @@ import * as tsplus_module_2 from "callbag-effect-ts/Source/chain";
3
3
  import * as tsplus_module_3 from "callbag-effect-ts/Source/map";
4
4
  import * as tsplus_module_4 from "callbag-effect-ts/Source/merge";
5
5
  import * as tsplus_module_5 from "dfx/gateway";
6
+ import * as tsplus_module_6 from "@effect/io/Effect";
6
7
  export const source = ({ id, fromParent, create, update, remove, parentRemove, }) => {
7
8
  const fromParentOps = tsplus_module_2.chain(([parentId, a]) => tsplus_module_1.fromIterable(a.map((resource) => ({
8
9
  op: "create",
@@ -51,7 +52,7 @@ export const nonParentSource = ({ id, create, update, remove, }) => {
51
52
  return tsplus_module_4.merge(removeOps)(tsplus_module_4.merge(updateOps)(createOps));
52
53
  };
53
54
  // Guilds
54
- export const guilds = nonParentSource({
55
+ export const guilds = tsplus_module_6.map(gateway => nonParentSource({
55
56
  id: (g) => g.id,
56
57
  create: tsplus_module_3.map((g) => ({
57
58
  ...g,
@@ -59,41 +60,32 @@ export const guilds = nonParentSource({
59
60
  roles: [],
60
61
  emojis: [],
61
62
  members: [],
62
- }))(tsplus_module_5.Gateway.fromDispatch("GUILD_CREATE")),
63
- update: tsplus_module_5.Gateway.fromDispatch("GUILD_UPDATE"),
64
- remove: tsplus_module_3.map((a) => a.id)(tsplus_module_5.Gateway.fromDispatch("GUILD_DELETE")),
65
- });
63
+ }))(gateway.fromDispatch("GUILD_CREATE")),
64
+ update: gateway.fromDispatch("GUILD_UPDATE"),
65
+ remove: tsplus_module_3.map((a) => a.id)(gateway.fromDispatch("GUILD_DELETE")),
66
+ }))(tsplus_module_6.service(tsplus_module_5.Gateway.DiscordGateway));
66
67
  // Channels
67
- export const channels = source({
68
+ export const channels = tsplus_module_6.map(gateway => source({
68
69
  id: (a) => a.id,
69
- fromParent: tsplus_module_3.map((g) => [
70
- g.id,
71
- g.channels,
72
- ])(tsplus_module_5.Gateway.fromDispatch("GUILD_CREATE")),
73
- create: tsplus_module_3.map((c) => [c.guild_id, c])(tsplus_module_5.Gateway.fromDispatch("CHANNEL_CREATE")),
74
- update: tsplus_module_3.map((c) => [c.guild_id, c])(tsplus_module_5.Gateway.fromDispatch("CHANNEL_UPDATE")),
75
- remove: tsplus_module_3.map((a) => [
76
- a.guild_id,
77
- a.id,
78
- ])(tsplus_module_5.Gateway.fromDispatch("CHANNEL_DELETE")),
79
- parentRemove: tsplus_module_3.map((g) => g.id)(tsplus_module_5.Gateway.fromDispatch("GUILD_DELETE")),
80
- });
70
+ fromParent: tsplus_module_3.map((g) => [g.id, g.channels])(gateway
71
+ .fromDispatch("GUILD_CREATE")),
72
+ create: tsplus_module_3.map((c) => [c.guild_id, c])(gateway.fromDispatch("CHANNEL_CREATE")),
73
+ update: tsplus_module_3.map((c) => [c.guild_id, c])(gateway.fromDispatch("CHANNEL_UPDATE")),
74
+ remove: tsplus_module_3.map((a) => [a.guild_id, a.id])(gateway
75
+ .fromDispatch("CHANNEL_DELETE")),
76
+ parentRemove: tsplus_module_3.map((g) => g.id)(gateway.fromDispatch("GUILD_DELETE")),
77
+ }))(tsplus_module_6.service(tsplus_module_5.Gateway.DiscordGateway));
81
78
  // Roles
82
- export const roles = source({
79
+ export const roles = tsplus_module_6.map(gateway => source({
83
80
  id: (a) => a.id,
84
- fromParent: tsplus_module_3.map((g) => [g.id, g.roles])(tsplus_module_5.Gateway.fromDispatch("GUILD_CREATE")),
85
- create: tsplus_module_3.map((r) => [
86
- r.guild_id,
87
- r.role,
88
- ])(tsplus_module_5.Gateway.fromDispatch("GUILD_ROLE_CREATE")),
89
- update: tsplus_module_3.map((r) => [
90
- r.guild_id,
91
- r.role,
92
- ])(tsplus_module_5.Gateway.fromDispatch("GUILD_ROLE_UPDATE")),
93
- remove: tsplus_module_3.map((a) => [
94
- a.guild_id,
95
- a.role_id,
96
- ])(tsplus_module_5.Gateway.fromDispatch("GUILD_ROLE_DELETE")),
97
- parentRemove: tsplus_module_3.map((g) => g.id)(tsplus_module_5.Gateway.fromDispatch("GUILD_DELETE")),
98
- });
81
+ fromParent: tsplus_module_3.map((g) => [g.id, g.roles])(gateway
82
+ .fromDispatch("GUILD_CREATE")),
83
+ create: tsplus_module_3.map((r) => [r.guild_id, r.role])(gateway
84
+ .fromDispatch("GUILD_ROLE_CREATE")),
85
+ update: tsplus_module_3.map((r) => [r.guild_id, r.role])(gateway
86
+ .fromDispatch("GUILD_ROLE_UPDATE")),
87
+ remove: tsplus_module_3.map((a) => [a.guild_id, a.role_id])(gateway
88
+ .fromDispatch("GUILD_ROLE_DELETE")),
89
+ parentRemove: tsplus_module_3.map((g) => g.id)(gateway.fromDispatch("GUILD_DELETE")),
90
+ }))(tsplus_module_6.service(tsplus_module_5.Gateway.DiscordGateway));
99
91
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Cache/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/Cache/gateway.ts"],"names":[],"mappings":"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"}
package/Cache/index.d.ts CHANGED
@@ -34,15 +34,15 @@ export type CacheOp<T> = {
34
34
  op: "delete";
35
35
  resourceId: string;
36
36
  };
37
- export declare const makeParent: <ROps, RMakeDriver, RMiss, RPMiss, EOps, EMakeDriver, EDriver, EMiss, EPMiss, A>({ driver: makeDriver, ops, onMiss, onParentMiss, }: {
37
+ export declare const makeParent: <RMakeDriver, RPMiss, EOps, EMakeDriver, EDriver, EMiss, EPMiss, A>({ driver: makeDriver, ops, onMiss, onParentMiss, }: {
38
38
  driver: import("../global.js").Effect<RMakeDriver, EMakeDriver, ParentCacheDriver<EDriver, A>>;
39
- ops?: import("callbag-effect-ts/Source").EffectSource<ROps, EOps, ParentCacheOp<A>> | undefined;
40
- onMiss: (parentId: string, id: string) => import("../global.js").Effect<RMiss, EMiss, A>;
39
+ ops?: import("callbag-effect-ts/Source").EffectSource<never, EOps, ParentCacheOp<A>> | undefined;
40
+ onMiss: (parentId: string, id: string) => import("../global.js").Effect<never, EMiss, A>;
41
41
  onParentMiss: (parentId: string) => import("../global.js").Effect<RPMiss, EPMiss, [id: string, resource: A][]>;
42
42
  }) => import("../global.js").Effect<RMakeDriver, EMakeDriver, {
43
- get: (parentId: string, id: string) => import("../global.js").Effect<RMiss, EDriver | EMiss, A>;
43
+ get: (parentId: string, id: string) => import("../global.js").Effect<never, EDriver | EMiss, A>;
44
44
  getForParent: (parentId: string) => import("../global.js").Effect<RPMiss, EDriver | EPMiss, ReadonlyMap<string, A>>;
45
- run: import("../global.js").Effect<ROps, EOps | EDriver, void>;
45
+ run: import("../global.js").Effect<never, EOps | EDriver, void>;
46
46
  size: import("../global.js").Effect<never, EDriver, number>;
47
47
  sizeForParent: (parentId: string) => import("../global.js").Effect<never, EDriver, number>;
48
48
  set: (parentId: string, resourceId: string, resource: A) => import("../global.js").Effect<never, EDriver, void>;
@@ -50,13 +50,13 @@ export declare const makeParent: <ROps, RMakeDriver, RMiss, RPMiss, EOps, EMakeD
50
50
  parentDelete: (parentId: string) => import("../global.js").Effect<never, EDriver, void>;
51
51
  refreshTTL: (parentId: string, resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
52
52
  }>;
53
- export declare const make: <ROps, RMakeDriver, RMiss, EOps, EMakeDriver, EDriver, EMiss, A>({ driver: makeDriver, ops, onMiss, }: {
53
+ export declare const make: <RMakeDriver, EOps, EMakeDriver, EDriver, EMiss, A>({ driver: makeDriver, ops, onMiss, }: {
54
54
  driver: import("../global.js").Effect<RMakeDriver, EMakeDriver, CacheDriver<EDriver, A>>;
55
- ops?: import("callbag-effect-ts/Source").EffectSource<ROps, EOps, CacheOp<A>> | undefined;
56
- onMiss: (id: string) => import("../global.js").Effect<RMiss, EMiss, A>;
55
+ ops?: import("callbag-effect-ts/Source").EffectSource<never, EOps, CacheOp<A>> | undefined;
56
+ onMiss: (id: string) => import("../global.js").Effect<never, EMiss, A>;
57
57
  }) => import("../global.js").Effect<RMakeDriver, EMakeDriver, {
58
- get: (id: string) => import("../global.js").Effect<RMiss, EDriver | EMiss, A>;
59
- run: import("../global.js").Effect<ROps, EOps | EDriver, void>;
58
+ get: (id: string) => import("../global.js").Effect<never, EDriver | EMiss, A>;
59
+ run: import("../global.js").Effect<never, EOps | EDriver, void>;
60
60
  size: import("../global.js").Effect<never, EDriver, number>;
61
61
  set: (resourceId: string, resource: A) => import("../global.js").Effect<never, EDriver, void>;
62
62
  delete: (resourceId: string) => import("../global.js").Effect<never, EDriver, void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cache/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cache/index.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,33 @@
1
1
  import { Discord } from "dfx";
2
2
  import { Effect } from "@effect/io/Effect";
3
3
  import { Cache } from "dfx";
4
- export declare const guilds: <RM, EM, E>(driver: Effect<RM, EM, Cache.CacheDriver<E, import("../types.js").Guild>>) => Effect<RM, EM, {
5
- get: (id: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Guild>;
6
- run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
4
+ export declare const guilds: <RM, EM, E>(driver: Effect<RM, EM, Cache.CacheDriver<E, import("../types.js").Guild>>) => Effect<import("dfx").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway, never, Effect<RM, EM, {
5
+ get: (id: string) => Effect<never, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Guild>;
6
+ run: Effect<never, E, void>;
7
7
  size: Effect<never, E, number>;
8
8
  set: (resourceId: string, resource: import("../types.js").Guild) => Effect<never, E, void>;
9
9
  delete: (resourceId: string) => Effect<never, E, void>;
10
10
  refreshTTL: (resourceId: string) => Effect<never, E, void>;
11
- }>;
12
- export declare const channels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Channel>>) => Effect<RM, EM, {
13
- get: (parentId: string, id: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Channel>;
14
- getForParent: (parentId: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Channel>>;
15
- run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
11
+ }>>;
12
+ export declare const channels: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Channel>>) => Effect<import("dfx").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway, never, Effect<RM, EM, {
13
+ get: (parentId: string, id: string) => Effect<never, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, import("../types.js").Channel>;
14
+ getForParent: (parentId: string) => Effect<never, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Channel>>;
15
+ run: Effect<never, E, void>;
16
16
  size: Effect<never, E, number>;
17
17
  sizeForParent: (parentId: string) => Effect<never, E, number>;
18
18
  set: (parentId: string, resourceId: string, resource: import("../types.js").Channel) => Effect<never, E, void>;
19
19
  delete: (parentId: string, resourceId: string) => Effect<never, E, void>;
20
20
  parentDelete: (parentId: string) => Effect<never, E, void>;
21
21
  refreshTTL: (parentId: string, resourceId: string) => Effect<never, E, void>;
22
- }>;
23
- export declare const roles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Role>>) => Effect<RM, EM, {
22
+ }>>;
23
+ export declare const roles: <RM, EM, E>(driver: Effect<RM, EM, Cache.ParentCacheDriver<E, import("../types.js").Role>>) => Effect<import("dfx").DiscordREST | import("../DiscordGateway/index.js").DiscordGateway, never, Effect<RM, EM, {
24
24
  get: (parentId: string, id: string) => Effect<never, Cache.CacheMissError | E, import("../types.js").Role>;
25
- getForParent: (parentId: string) => Effect<import("dfx").DiscordREST, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Role>>;
26
- run: Effect<import("../DiscordGateway/index.js").DiscordGateway, E, void>;
25
+ getForParent: (parentId: string) => Effect<never, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError | E, ReadonlyMap<string, import("../types.js").Role>>;
26
+ run: Effect<never, E, void>;
27
27
  size: Effect<never, E, number>;
28
28
  sizeForParent: (parentId: string) => Effect<never, E, number>;
29
29
  set: (parentId: string, resourceId: string, resource: import("../types.js").Role) => Effect<never, E, void>;
30
30
  delete: (parentId: string, resourceId: string) => Effect<never, E, void>;
31
31
  parentDelete: (parentId: string) => Effect<never, E, void>;
32
32
  refreshTTL: (parentId: string, resourceId: string) => Effect<never, E, void>;
33
- }>;
33
+ }>>;
package/Cache/prelude.js CHANGED
@@ -1,22 +1,24 @@
1
- import * as tsplus_module_1 from "dfx";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
1
+ import * as tsplus_module_1 from "@effect/io/Effect";
2
+ import * as tsplus_module_2 from "dfx";
3
3
  import { Cache } from "dfx";
4
4
  import { CacheOps } from "dfx/gateway";
5
- export const guilds = (driver) => Cache.make({
5
+ export const guilds = (driver) => tsplus_module_1.flatMap(ops => tsplus_module_1.map(rest => Cache.make({
6
6
  driver,
7
- ops: CacheOps.guilds,
8
- onMiss: (id) => tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuild(id)),
9
- });
10
- export const channels = (driver) => Cache.makeParent({
7
+ ops,
8
+ onMiss: (id) => tsplus_module_1.flatMap((r) => r.json)(rest.routes.getGuild(id)),
9
+ }))(tsplus_module_1.service(tsplus_module_2.DiscordREST)))(CacheOps.guilds);
10
+ export const channels = (driver) => tsplus_module_1.flatMap(ops => tsplus_module_1.map(({ routes: rest }) => Cache.makeParent({
11
11
  driver,
12
- ops: CacheOps.channels,
13
- onMiss: (id) => tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getChannel(id)),
14
- onParentMiss: (guildId) => tsplus_module_2.map((a) => a.map((a) => [a.id, a]))(tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuildChannels(guildId))),
15
- });
16
- export const roles = (driver) => Cache.makeParent({
12
+ ops,
13
+ onMiss: (id) => tsplus_module_1.flatMap((r) => r.json)(rest.getChannel(id)),
14
+ onParentMiss: (guildId) => tsplus_module_1.map((a) => a.map((a) => [a.id, a]))(tsplus_module_1.flatMap((r) => r.json)(rest
15
+ .getGuildChannels(guildId))),
16
+ }))(tsplus_module_1.service(tsplus_module_2.DiscordREST)))(CacheOps.channels);
17
+ export const roles = (driver) => tsplus_module_1.flatMap(ops => tsplus_module_1.map(({ routes: rest }) => Cache.makeParent({
17
18
  driver,
18
- ops: CacheOps.roles,
19
- onMiss: (id) => tsplus_module_2.fail(new Cache.CacheMissError("RolesCache", id)),
20
- onParentMiss: (guildId) => tsplus_module_2.map((a) => a.map((a) => [a.id, a]))(tsplus_module_2.flatMap((r) => r.json)(tsplus_module_1.rest.getGuildRoles(guildId))),
21
- });
19
+ ops,
20
+ onMiss: (id) => tsplus_module_1.fail(new Cache.CacheMissError("RolesCache", id)),
21
+ onParentMiss: (guildId) => tsplus_module_1.map((a) => a.map((a) => [a.id, a]))(tsplus_module_1.flatMap((r) => r.json)(rest
22
+ .getGuildRoles(guildId))),
23
+ }))(tsplus_module_1.service(tsplus_module_2.DiscordREST)))(CacheOps.roles);
22
24
  //# sourceMappingURL=prelude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAA2D,EAC3D,EAAE,CACF,KAAK,CAAC,IAAI,CAAC;IACT,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,MAAM;IACpB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAA0B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAvC,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAuB;CACzD,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAmE,EACnE,EAAE,CACF,KAAK,CAAC,UAAU,CAAC;IACf,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,QAAQ;IACtB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAA4B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAzC,gBAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAuB;IAC1D,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,gBAAA,IAAI,CACD,gBAAgB,CAAC,OAAO,CAAC,CACH,CACa;CACzC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAgE,EAChE,EAAE,CACF,KAAK,CAAC,UAAU,CAAC;IACf,MAAM;IACN,GAAG,EAAE,QAAQ,CAAC,KAAK;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAY,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,gBAAA,IAAI,CACD,aAAa,CAAC,OAAO,CAAC,CACA,CACa;CACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAA2D,EAC3D,EAAE,yBAEM,GAAG,wBACH,IAAI,IAEH,KAAK,CAAC,IAAI,CAAC;IAChB,MAAM;IACN,GAAG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAA9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAuB;CAChE,CAAC,EANa,wCAAe,WAAW,CAAC,GAD5B,QAAQ,CAAC,MAAM,CAQ7B,CAAA;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAmE,EACnE,EAAE,yBAEM,GAAG,yBACH,EAAE,MAAM,EAAE,IAAI,EAAE,KAEf,KAAK,CAAC,UAAU,CAAC;IACtB,MAAM;IACN,GAAG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAA4B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAzC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAuB;IAC1D,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,IAAI;SACD,gBAAgB,CAAC,OAAO,CAAC,CACH,CACa;CACzC,CAAC,EAXyB,wCAAe,WAAW,CAAC,GADxC,QAAQ,CAAC,QAAQ,CAa/B,CAAA;AAEJ,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAgE,EAChE,EAAE,yBAEM,GAAG,yBACH,EAAE,MAAM,EAAE,IAAI,EAAE,KAEf,KAAK,CAAC,UAAU,CAAC;IACtB,MAAM;IACN,GAAG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAY,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,oBAGO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAHrC,wBAEW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAFxB,IAAI;SACD,aAAa,CAAC,OAAO,CAAC,CACA,CACa;CACzC,CAAC,EAXyB,wCAAe,WAAW,CAAC,GADxC,QAAQ,CAAC,KAAK,CAa5B,CAAA"}
@@ -18,7 +18,7 @@ export interface DiscordWSCodec {
18
18
  }
19
19
  export declare const DiscordWSCodec: import("../../global.js").Tag<DiscordWSCodec>;
20
20
  export declare const LiveJsonDiscordWSCodec: import("../../global.js").Layer<never, never, DiscordWSCodec>;
21
- export declare const make: ({ url, version, outbound, }: OpenOpts) => import("../../global.js").Effect<import("../../Log/index.js").Log | DiscordWSCodec, never, {
21
+ export declare const make: ({ url, version, outbound, }: OpenOpts) => import("../../global.js").Effect<DiscordWSCodec | import("../../Log/index.js").Log, never, {
22
22
  source: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<any>>;
23
23
  setUrl: (url: string) => import("../../global.js").Effect<never, never, void>;
24
24
  }>;
@@ -1,6 +1,6 @@
1
1
  import { DiscordWS } from "dfx/gateway";
2
2
  import { Discord } from "dfx";
3
- export declare const make: (shard: [id: number, count: number]) => import("../../global.js").Effect<import("../../Log/index.js").Log | import("../DiscordWS/index.js").DiscordWSCodec | import("../../RateLimit/index.js").RateLimiter | import("../../DiscordConfig/index.js").DiscordConfig, never, {
3
+ export declare const make: (shard: [id: number, count: number]) => import("../../global.js").Effect<import("../DiscordWS/index.js").DiscordWSCodec | import("../../Log/index.js").Log | import("../../DiscordConfig/index.js").DiscordConfig | import("../../RateLimit/index.js").RateLimiter, never, {
4
4
  run: import("../../global.js").Effect<never, never, void>;
5
5
  raw: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<any>>;
6
6
  dispatch: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<import("../../types.js").ReceiveEvent>>;
@@ -1,11 +1,19 @@
1
1
  import { Effect } from "@effect/io/Effect";
2
2
  import { Maybe, Discord } from "dfx";
3
3
  import { EffectSource } from "callbag-effect-ts/Source";
4
+ import { Success } from "dfx/utils/effect";
4
5
  import { ShardStore } from "../ShardStore/index.js";
5
- export declare const spawn: import("callbag-effect-ts/Source").EffectSource<import("../../Log/index.js").Log | import("../DiscordWS/index.js").DiscordWSCodec | import("../../RateLimit/index.js").RateLimiter | import("../../DiscordConfig/index.js").DiscordConfig | ShardStore | import("../../index.js").DiscordREST, never, {
6
- run: import("../../global.js").Effect<never, never, void>;
7
- raw: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<any>>;
8
- dispatch: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<import("../../types.js").ReceiveEvent>>;
9
- send: (p: import("../../types.js").GatewayPayload<any>) => import("../../global.js").Effect<never, never, boolean>;
10
- reconnect: import("../../global.js").Effect<never, never, boolean>;
6
+ declare const make: import("../../global.js").Effect<import("../DiscordWS/index.js").DiscordWSCodec | import("../../Log/index.js").Log | ShardStore | import("../../DiscordConfig/index.js").DiscordConfig | import("../../index.js").DiscordREST | import("../../RateLimit/index.js").RateLimiter, never, {
7
+ shards: import("callbag-effect-ts/Source").EffectSource<never, never, {
8
+ run: import("../../global.js").Effect<never, never, void>;
9
+ raw: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<any>>;
10
+ dispatch: import("callbag-effect-ts/Source").EffectSource<never, never, import("../../types.js").GatewayPayload<import("../../types.js").ReceiveEvent>>;
11
+ send: (p: import("../../types.js").GatewayPayload<any>) => import("../../global.js").Effect<never, never, boolean>;
12
+ reconnect: import("../../global.js").Effect<never, never, boolean>;
13
+ }>;
11
14
  }>;
15
+ export interface Sharder extends Success<typeof make> {
16
+ }
17
+ export declare const Sharder: import("../../global.js").Tag<Sharder>;
18
+ export declare const LiveSharder: import("../../global.js").Layer<import("../DiscordWS/index.js").DiscordWSCodec | import("../../Log/index.js").Log | ShardStore | import("../../DiscordConfig/index.js").DiscordConfig | import("../../index.js").DiscordREST | import("../../RateLimit/index.js").RateLimiter, never, Sharder>;
19
+ export {};
@@ -1,49 +1,50 @@
1
1
  import * as tsplus_module_1 from "callbag-effect-ts/Source/fromEffect";
2
- import * as tsplus_module_2 from "callbag-effect-ts/Source/resource";
3
- import * as tsplus_module_3 from "callbag-effect-ts/Source/map";
4
- import * as tsplus_module_4 from "@fp-ts/data/Duration";
5
- import * as tsplus_module_5 from "@fp-ts/data/Option";
6
- import * as tsplus_module_6 from "callbag-effect-ts/Source/empty";
7
- import * as tsplus_module_7 from "@effect/io/Effect";
8
- import * as tsplus_module_8 from "callbag-effect-ts/Source/of";
9
- import * as tsplus_module_9 from "dfx/gateway";
10
- import * as tsplus_module_10 from "callbag-effect-ts/Source/tap";
11
- import * as tsplus_module_11 from "callbag-effect-ts/Source/mapEffect";
12
- import * as tsplus_module_12 from "callbag-effect-ts/Source/groupBy";
13
- import * as tsplus_module_13 from "callbag-effect-ts/Source/chainPar";
14
- import * as tsplus_module_14 from "dfx";
15
- import * as tsplus_module_15 from "callbag-effect-ts/Source/drain";
16
- import * as tsplus_module_16 from "callbag-effect-ts/Source/merge";
17
- import * as tsplus_module_17 from "callbag-effect-ts/Source/unwrap";
2
+ import * as tsplus_module_2 from "callbag-effect-ts/Source/drain";
3
+ import * as tsplus_module_3 from "callbag-effect-ts/Source/of";
4
+ import * as tsplus_module_4 from "callbag-effect-ts/Source/merge";
5
+ import * as tsplus_module_5 from "@effect/io/Effect";
6
+ import * as tsplus_module_6 from "dfx/gateway";
7
+ import * as tsplus_module_7 from "callbag-effect-ts/Source/tap";
8
+ import * as tsplus_module_8 from "callbag-effect-ts/Source/mapEffect";
9
+ import * as tsplus_module_9 from "callbag-effect-ts/Source/map";
10
+ import * as tsplus_module_10 from "callbag-effect-ts/Source/groupBy";
11
+ import * as tsplus_module_11 from "callbag-effect-ts/Source/chainPar";
12
+ import * as tsplus_module_12 from "callbag-effect-ts/Source/share";
13
+ import * as tsplus_module_13 from "@fp-ts/data/Duration";
14
+ import * as tsplus_module_14 from "@fp-ts/data/Option";
15
+ import * as tsplus_module_15 from "callbag-effect-ts/Source/empty";
16
+ import * as tsplus_module_16 from "callbag-effect-ts/Source/resource";
17
+ import * as tsplus_module_17 from "dfx";
18
+ import * as tsplus_module_18 from "@fp-ts/data/Context";
18
19
  import { millis } from "@fp-ts/data/Duration";
19
20
  import { overridePull } from "callbag-effect-ts/Source";
20
21
  import { ShardStore } from "../ShardStore/index.js";
21
- const configs = (totalCount) => tsplus_module_7.map(store => {
22
- const claimId = (sharderCount) => tsplus_module_7.flatMap((a) => tsplus_module_5.match(() => tsplus_module_7.delay(tsplus_module_4.minutes(3))(tsplus_module_7.succeed([
23
- tsplus_module_5.some(sharderCount),
24
- tsplus_module_6.empty,
25
- ])), (id) => tsplus_module_7.succeed([
26
- tsplus_module_5.some(sharderCount + 1),
27
- tsplus_module_8.of(id),
28
- ]))(a))(store
29
- .claimId({
30
- totalCount,
31
- sharderCount,
32
- }));
33
- return tsplus_module_3.map((id) => ({
34
- id,
35
- totalCount,
36
- }))(tsplus_module_2.resource(0, (sharderCount) => tsplus_module_1.fromEffect(claimId(sharderCount))));
37
- })(tsplus_module_7.service(ShardStore));
38
- const spawnEffect = tsplus_module_7.map(({ gateway, config, configs, limiter }) => {
39
- const [source, pull] = overridePull(configs, gateway.session_start_limit.max_concurrency);
40
- return tsplus_module_10.tap(() => tsplus_module_7.sync(pull))(tsplus_module_13.chainPar(([shardConfig, key]) => tsplus_module_11.mapEffect((c) => tsplus_module_9.Shard.make([c.id, c.totalCount]))(tsplus_module_10.tap(() => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1]))(shardConfig)))(tsplus_module_12.groupBy((c) => c.id % c.concurrency)(tsplus_module_3.map((config) => ({
41
- ...config,
42
- url: gateway.url,
43
- concurrency: gateway.session_start_limit.max_concurrency,
44
- }))(source))));
45
- })(tsplus_module_7.bind("configs", ({ gateway, config }) => configs(config.shardCount ?? gateway.shards))(tsplus_module_7.structPar({
46
- gateway: tsplus_module_7.catchAll(() => tsplus_module_7.succeed({
22
+ const make = tsplus_module_5.flatMap(store => tsplus_module_5.flatMap(({ routes: rest }) => tsplus_module_5.flatMap(({ gateway: config }) => tsplus_module_5.flatMap(limiter => {
23
+ const configs = (totalCount) => {
24
+ const claimId = (sharderCount) => tsplus_module_5.flatMap((a) => tsplus_module_14.match(() => tsplus_module_5.delay(tsplus_module_13.minutes(3))(tsplus_module_5.succeed([
25
+ tsplus_module_14.some(sharderCount),
26
+ tsplus_module_15.empty,
27
+ ])), (id) => tsplus_module_5.succeed([
28
+ tsplus_module_14.some(sharderCount + 1),
29
+ tsplus_module_3.of(id),
30
+ ]))(a))(store
31
+ .claimId({
32
+ totalCount,
33
+ sharderCount,
34
+ }));
35
+ return tsplus_module_9.map((id) => ({
36
+ id,
37
+ totalCount,
38
+ }))(tsplus_module_16.resource(0, (sharderCount) => tsplus_module_1.fromEffect(claimId(sharderCount))));
39
+ };
40
+ return tsplus_module_5.flatMap(gateway => {
41
+ const [source, pull] = overridePull(configs(config.shardCount ?? gateway.shards), gateway.session_start_limit.max_concurrency);
42
+ return tsplus_module_5.map(shards => ({ shards }))(tsplus_module_12.share(tsplus_module_11.chainPar((shard) => tsplus_module_4.merge(tsplus_module_2.drain(tsplus_module_1.fromEffect(shard.run)))(tsplus_module_3.of(shard)))(tsplus_module_7.tap(() => tsplus_module_5.sync(pull))(tsplus_module_11.chainPar(([shardConfig, key]) => tsplus_module_8.mapEffect((c) => tsplus_module_6.Shard.make([c.id, c.totalCount]))(tsplus_module_7.tap(() => limiter.maybeWait(`dfx.sharder.${key}`, millis(config.identifyRateLimit[0]), config.identifyRateLimit[1]))(shardConfig)))(tsplus_module_10.groupBy((c) => c.id % c.concurrency)(tsplus_module_9.map((config) => ({
43
+ ...config,
44
+ url: gateway.url,
45
+ concurrency: gateway.session_start_limit.max_concurrency,
46
+ }))(source)))))));
47
+ })(tsplus_module_5.catchAll(() => tsplus_module_5.succeed({
47
48
  url: "wss://gateway.discord.gg/",
48
49
  shards: 1,
49
50
  session_start_limit: {
@@ -52,9 +53,9 @@ const spawnEffect = tsplus_module_7.map(({ gateway, config, configs, limiter })
52
53
  reset_after: 0,
53
54
  max_concurrency: 1,
54
55
  },
55
- }))(tsplus_module_7.flatMap((r) => r.json)(tsplus_module_14.rest.getGatewayBot())),
56
- config: tsplus_module_14.Config.gateway,
57
- limiter: tsplus_module_7.service(tsplus_module_14.RateLimit.RateLimiter),
58
- })));
59
- export const spawn = tsplus_module_13.chainPar((shard) => tsplus_module_16.merge(tsplus_module_15.drain(tsplus_module_1.fromEffect(shard.run)))(tsplus_module_8.of(shard)))(tsplus_module_17.unwrap(spawnEffect));
56
+ }))(tsplus_module_5.flatMap((r) => r.json)(rest
57
+ .getGatewayBot())));
58
+ })(tsplus_module_5.service(tsplus_module_17.RateLimit.RateLimiter)))(tsplus_module_5.service(tsplus_module_17.Config.DiscordConfig)))(tsplus_module_5.service(tsplus_module_17.DiscordREST)))(tsplus_module_5.service(ShardStore));
59
+ export const Sharder = tsplus_module_18.Tag();
60
+ export const LiveSharder = tsplus_module_5.toLayer(Sharder)(make);
60
61
  //# 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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"}
@@ -2,14 +2,8 @@ import { EffectSource } from "callbag-effect-ts/Source";
2
2
  import { Discord } from "dfx";
3
3
  import { Effect } from "@effect/io/Effect";
4
4
  import { Success } from "dfx/utils/effect";
5
- export declare const make: import("../global.js").Effect<import("../Log/index.js").Log | import("./DiscordWS/index.js").DiscordWSCodec | import("../RateLimit/index.js").RateLimiter | import("../DiscordConfig/index.js").DiscordConfig | import("./ShardStore/index.js").ShardStore | import("../index.js").DiscordREST, never, {
6
- shards: import("callbag-effect-ts/Source").EffectSource<never, never, {
7
- run: import("../global.js").Effect<never, never, void>;
8
- raw: import("callbag-effect-ts/Source").EffectSource<never, never, import("../types.js").GatewayPayload<any>>;
9
- dispatch: import("callbag-effect-ts/Source").EffectSource<never, never, import("../types.js").GatewayPayload<import("../types.js").ReceiveEvent>>;
10
- send: (p: import("../types.js").GatewayPayload<any>) => import("../global.js").Effect<never, never, boolean>;
11
- reconnect: import("../global.js").Effect<never, never, boolean>;
12
- }>;
5
+ import { Sharder } from "./Sharder/index.js";
6
+ export declare const make: import("../global.js").Effect<Sharder, never, {
13
7
  raw: import("callbag-effect-ts/Source").EffectSource<never, never, import("../types.js").GatewayPayload<any>>;
14
8
  dispatch: import("callbag-effect-ts/Source").EffectSource<never, never, import("../types.js").GatewayPayload<import("../types.js").ReceiveEvent>>;
15
9
  fromDispatch: <K extends keyof import("../types.js").ReceiveEvents>(event: K) => import("callbag-effect-ts/Source").EffectSource<never, never, import("../types.js").ReceiveEvents[K]>;
@@ -18,6 +12,4 @@ export declare const make: import("../global.js").Effect<import("../Log/index.js
18
12
  export interface DiscordGateway extends Success<typeof make> {
19
13
  }
20
14
  export declare const DiscordGateway: import("../global.js").Tag<DiscordGateway>;
21
- export declare const LiveDiscordGateway: import("../global.js").Layer<import("../Log/index.js").Log | import("./DiscordWS/index.js").DiscordWSCodec | import("../RateLimit/index.js").RateLimiter | import("../DiscordConfig/index.js").DiscordConfig | import("./ShardStore/index.js").ShardStore | import("../index.js").DiscordREST, never, DiscordGateway>;
22
- export declare const fromDispatch: <K extends keyof import("../types.js").ReceiveEvents>(event: K) => import("callbag-effect-ts/Source").EffectSource<DiscordGateway, never, import("../types.js").ReceiveEvents[K]>;
23
- export declare const handleDispatch: <K extends keyof import("../types.js").ReceiveEvents, R1, E1, A>(event: K, handle: (event: import("../types.js").ReceiveEvents[K]) => import("../global.js").Effect<R1, E1, A>) => import("../global.js").Effect<DiscordGateway | R1, E1, void>;
15
+ export declare const LiveDiscordGateway: import("../global.js").Layer<Sharder, never, DiscordGateway>;
@@ -7,23 +7,19 @@ import * as tsplus_module_6 from "callbag-effect-ts/Source/share";
7
7
  import * as tsplus_module_7 from "@effect/io/Effect";
8
8
  import * as tsplus_module_8 from "@fp-ts/data/Context";
9
9
  import * as tsplus_module_9 from "@effect/io/Layer";
10
- import * as tsplus_module_10 from "callbag-effect-ts/Source/unwrap";
11
- import { spawn } from "./Sharder/index.js";
10
+ import { Sharder } from "./Sharder/index.js";
12
11
  const fromDispatchFactory = (source) => (event) => tsplus_module_2.map((p) => p.d)(tsplus_module_1.filter((p) => p.t === event)(source));
13
12
  const handleDispatchFactory = (source) => (event, handle) => tsplus_module_5.runDrain(tsplus_module_4.chainPar((a) => tsplus_module_3.fromEffect(handle(a.d)))(tsplus_module_1.filter((p) => p.t === event)(source)));
14
- export const make = tsplus_module_7.flatMap(shards => tsplus_module_7.flatMap(raw => tsplus_module_7.map(dispatch => {
13
+ export const make = tsplus_module_7.flatMap(sharder => tsplus_module_7.flatMap(raw => tsplus_module_7.map(dispatch => {
15
14
  const fromDispatch = fromDispatchFactory(dispatch);
16
15
  const handleDispatch = handleDispatchFactory(dispatch);
17
16
  return {
18
- shards,
19
17
  raw,
20
18
  dispatch,
21
19
  fromDispatch,
22
20
  handleDispatch,
23
21
  };
24
- })(tsplus_module_6.share(tsplus_module_4.chainPar((s) => s.dispatch)(shards))))(tsplus_module_6.share(tsplus_module_4.chainPar((s) => s.raw)(shards))))(tsplus_module_6.share(spawn));
22
+ })(tsplus_module_6.share(tsplus_module_4.chainPar((s) => s.dispatch)(sharder.shards))))(tsplus_module_6.share(tsplus_module_4.chainPar((s) => s.raw)(sharder.shards))))(tsplus_module_7.service(Sharder));
25
23
  export const DiscordGateway = tsplus_module_8.Tag();
26
24
  export const LiveDiscordGateway = tsplus_module_9.fromEffect(DiscordGateway)(make);
27
- export const fromDispatch = (event) => tsplus_module_10.unwrap(tsplus_module_7.serviceWith(DiscordGateway)((a) => a.fromDispatch(event)));
28
- export const handleDispatch = (event, handle) => tsplus_module_7.serviceWithEffect(DiscordGateway)((a) => a.handleDispatch(event, handle));
29
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,MAAM,mBAAmB,GACvB,CACE,MAAwE,EACxE,EAAE,CACJ,CACE,KAAQ,EACsC,EAAE,CAChD,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,CACE,MAAwE,EACxE,EAAE,CACJ,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,yBAEY,CAAC,CAAC,EAAE,EAAE,CAAC,2BAAwB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAF9D,uBACU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAD9B,MAAM,CACyB,CACgC,CAAS,CAAA;AAE5E,MAAM,CAAC,MAAM,IAAI,2BACT,MAAM,4BACN,GAAG,wBACH,QAAQ;IACd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;yBAVkB,yBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAjC,MAAM,CAA4B,0BADvC,yBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAA5B,MAAM,CAAuB,0BAD1B,KAAK,EAatB,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAAiB,cAAc,CAAC,CAAC,IAAI,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAwC,KAAQ,EAAE,EAAE,yBAC9E,4BAAmB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAO,CAAA;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAM5B,KAAQ,EACR,MAA8D,EAC9D,EAAE,CACF,kCAAyB,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAChC,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,CACE,MAAwE,EACxE,EAAE,CACJ,CACE,KAAQ,EACsC,EAAE,CAChD,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,CACE,MAAwE,EACxE,EAAE,CACJ,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,yBAEY,CAAC,CAAC,EAAE,EAAE,CAAC,2BAAwB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,EAF9D,uBACU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAD9B,MAAM,CACyB,CACgC,CAAS,CAAA;AAE5E,MAAM,CAAC,MAAM,IAAI,2BACT,OAAO,4BACP,GAAG,wBACH,QAAQ;IACd,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;yBATkB,yBAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAzC,OAAO,CAAC,MAAM,CAA4B,0BAD/C,yBAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAApC,OAAO,CAAC,MAAM,CAAuB,IADjC,wBAAe,OAAO,CAAC,CAYzC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAAiB,cAAc,CAAC,CAAC,IAAI,CAAC,CAAA"}
@@ -1,13 +1,13 @@
1
- import { RateLimit, Http } from "dfx";
1
+ import { RateLimit, Http, Discord } from "dfx";
2
2
  import { Effect } from "@effect/io/Effect";
3
3
  import { Success } from "dfx/utils/effect";
4
4
  import { ResponseWithData } from "./types.js";
5
- declare const make: import("../global.js").Effect<import("../Log/index.js").Log | import("../RateLimit/index.js").RateLimiter | import("../RateLimit/index.js").RateLimitStore | import("../DiscordConfig/index.js").DiscordConfig, never, {
5
+ declare const make: import("../global.js").Effect<import("../Log/index.js").Log | import("../DiscordConfig/index.js").DiscordConfig | import("../Http/index.js").Http | import("../RateLimit/index.js").RateLimitStore | import("../RateLimit/index.js").RateLimiter, never, {
6
6
  request: <A = unknown>(path: string, init?: RequestInit) => import("../global.js").Effect<never, import("../Http/index.js").FetchError | import("../Http/index.js").StatusCodeError | import("../Http/index.js").JsonParseError, ResponseWithData<A>>;
7
+ routes: import("../types.js").Endpoints<RequestInit>;
7
8
  }>;
8
9
  export interface DiscordREST extends Success<typeof make> {
9
10
  }
10
11
  export declare const DiscordREST: import("../global.js").Tag<DiscordREST>;
11
- export declare const LiveDiscordREST: import("../global.js").Layer<import("../Log/index.js").Log | import("../RateLimit/index.js").RateLimiter | import("../RateLimit/index.js").RateLimitStore | import("../DiscordConfig/index.js").DiscordConfig, never, DiscordREST>;
12
- export declare const rest: import("../types.js").Endpoints<RequestInit>;
12
+ export declare const LiveDiscordREST: import("../global.js").Layer<import("../Log/index.js").Log | import("../DiscordConfig/index.js").DiscordConfig | import("../Http/index.js").Http | import("../RateLimit/index.js").RateLimitStore | import("../RateLimit/index.js").RateLimiter, never, DiscordREST>;
13
13
  export {};