dfx 1.0.6 → 1.0.7
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.
- package/dist/Cache/driver.d.ts +24 -0
- package/dist/Cache/driver.d.ts.map +1 -0
- package/dist/Cache/memory.d.ts +5 -0
- package/dist/Cache/memory.d.ts.map +1 -0
- package/dist/Cache/memoryTTL.d.ts +23 -0
- package/dist/Cache/memoryTTL.d.ts.map +1 -0
- package/dist/Cache/prelude.d.ts +32 -0
- package/dist/Cache/prelude.d.ts.map +1 -0
- package/dist/Cache.d.ts +81 -0
- package/dist/Cache.d.ts.map +1 -0
- package/dist/DiscordConfig.d.ts +35 -0
- package/dist/DiscordConfig.d.ts.map +1 -0
- package/dist/DiscordGateway/DiscordWS.d.ts +37 -0
- package/dist/DiscordGateway/DiscordWS.d.ts.map +1 -0
- package/dist/DiscordGateway/Messaging.d.ts +587 -0
- package/dist/DiscordGateway/Messaging.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard/StateStore.d.ts +24 -0
- package/dist/DiscordGateway/Shard/StateStore.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard/heartbeats.d.ts +8 -0
- package/dist/DiscordGateway/Shard/heartbeats.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard/identify.d.ts +12 -0
- package/dist/DiscordGateway/Shard/identify.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard/sendEvents.d.ts +8 -0
- package/dist/DiscordGateway/Shard/sendEvents.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard/utils.d.ts +6 -0
- package/dist/DiscordGateway/Shard/utils.d.ts.map +1 -0
- package/dist/DiscordGateway/Shard.d.ts +29 -0
- package/dist/DiscordGateway/Shard.d.ts.map +1 -0
- package/dist/DiscordGateway/ShardStore.d.ts +19 -0
- package/dist/DiscordGateway/ShardStore.d.ts.map +1 -0
- package/dist/DiscordGateway/Sharder.d.ts +14 -0
- package/dist/DiscordGateway/Sharder.d.ts.map +1 -0
- package/dist/DiscordGateway.d.ts +33 -0
- package/dist/DiscordGateway.d.ts.map +1 -0
- package/dist/DiscordREST/Generated.d.ts +5577 -0
- package/dist/DiscordREST/Generated.d.ts.map +1 -0
- package/dist/DiscordREST/utils.d.ts +14 -0
- package/dist/DiscordREST/utils.d.ts.map +1 -0
- package/dist/DiscordREST.d.ts +22 -0
- package/dist/DiscordREST.d.ts.map +1 -0
- package/dist/Helpers/flags.d.ts +28 -0
- package/dist/Helpers/flags.d.ts.map +1 -0
- package/dist/Helpers/intents.d.ts +25 -0
- package/dist/Helpers/intents.d.ts.map +1 -0
- package/dist/Helpers/interactions.d.ts +116 -0
- package/dist/Helpers/interactions.d.ts.map +1 -0
- package/dist/Helpers/members.d.ts +10 -0
- package/dist/Helpers/members.d.ts.map +1 -0
- package/dist/Helpers/permissions.d.ts +42 -0
- package/dist/Helpers/permissions.d.ts.map +1 -0
- package/dist/Helpers/ui.d.ts +105 -0
- package/dist/Helpers/ui.d.ts.map +1 -0
- package/dist/Interactions/builder.d.ts +48 -0
- package/dist/Interactions/builder.d.ts.map +1 -0
- package/dist/Interactions/commandHelper.d.ts +83 -0
- package/dist/Interactions/commandHelper.d.ts.map +1 -0
- package/dist/Interactions/context.d.ts +53 -0
- package/dist/Interactions/context.d.ts.map +1 -0
- package/dist/Interactions/definitions.d.ts +43 -0
- package/dist/Interactions/definitions.d.ts.map +1 -0
- package/dist/Interactions/error.d.ts +2 -0
- package/dist/Interactions/error.d.ts.map +1 -0
- package/dist/Interactions/gateway.d.ts +20 -0
- package/dist/Interactions/gateway.d.ts.map +1 -0
- package/dist/Interactions/handlers.d.ts +15 -0
- package/dist/Interactions/handlers.d.ts.map +1 -0
- package/dist/Interactions/index.d.ts +17 -0
- package/dist/Interactions/index.d.ts.map +1 -0
- package/dist/Interactions/utils.d.ts +61 -0
- package/dist/Interactions/utils.d.ts.map +1 -0
- package/dist/Interactions/webhook.d.ts +71 -0
- package/dist/Interactions/webhook.d.ts.map +1 -0
- package/dist/RateLimit/memory.d.ts +3 -0
- package/dist/RateLimit/memory.d.ts.map +1 -0
- package/dist/RateLimit/utils.d.ts +3 -0
- package/dist/RateLimit/utils.d.ts.map +1 -0
- package/dist/RateLimit.d.ts +30 -0
- package/dist/RateLimit.d.ts.map +1 -0
- package/dist/gateway.d.ts +19 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/types.d.ts +2458 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/Effect.d.ts +5 -0
- package/dist/utils/Effect.d.ts.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +1 -1
- package/dist/webhooks.d.ts +8 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/version.ts +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as Option from "effect/Option";
|
|
2
|
+
import type * as Effect from "effect/Effect";
|
|
3
|
+
export interface ParentCacheDriver<E, T> {
|
|
4
|
+
readonly size: Effect.Effect<number, E>;
|
|
5
|
+
sizeForParent: (parentId: string) => Effect.Effect<number, E>;
|
|
6
|
+
get: (parentId: string, resourceId: string) => Effect.Effect<Option.Option<T>, E>;
|
|
7
|
+
getForParent: (parentId: string) => Effect.Effect<Option.Option<ReadonlyMap<string, T>>, E>;
|
|
8
|
+
set: (parentId: string, resourceId: string, resource: T) => Effect.Effect<void, E>;
|
|
9
|
+
delete: (parentId: string, resourceId: string) => Effect.Effect<void, E>;
|
|
10
|
+
parentDelete: (parentId: string) => Effect.Effect<void, E>;
|
|
11
|
+
refreshTTL: (parentId: string, resourceId: string) => Effect.Effect<void, E>;
|
|
12
|
+
readonly run: Effect.Effect<never, E>;
|
|
13
|
+
}
|
|
14
|
+
export declare const createParentDriver: <E, T>(driver: ParentCacheDriver<E, T>) => ParentCacheDriver<E, T>;
|
|
15
|
+
export interface CacheDriver<E, T> {
|
|
16
|
+
readonly size: Effect.Effect<number, E>;
|
|
17
|
+
get: (resourceId: string) => Effect.Effect<Option.Option<T>, E>;
|
|
18
|
+
set: (resourceId: string, resource: T) => Effect.Effect<void, E>;
|
|
19
|
+
delete: (resourceId: string) => Effect.Effect<void, E>;
|
|
20
|
+
refreshTTL: (resourceId: string) => Effect.Effect<void, E>;
|
|
21
|
+
readonly run: Effect.Effect<never, E>;
|
|
22
|
+
}
|
|
23
|
+
export declare const createDriver: <E, T>(driver: CacheDriver<E, T>) => CacheDriver<E, T>;
|
|
24
|
+
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/Cache/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACvC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC7D,GAAG,EAAE,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACvC,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5D,GAAG,EAAE,CACH,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,4BAChE,CAAA;AAER,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACvC,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAChE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACtD,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAW,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type { CacheDriver, ParentCacheDriver } from "./driver.ts";
|
|
3
|
+
export declare const createWithParent: <T>() => Effect.Effect<ParentCacheDriver<never, T>>;
|
|
4
|
+
export declare const create: <T>() => Effect.Effect<CacheDriver<never, T>>;
|
|
5
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/Cache/memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGjE,eAAO,MAAM,gBAAgB,GAAI,CAAC,OAAK,MAAM,CAAC,MAAM,CAClD,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAgDzB,CAAA;AAEJ,eAAO,MAAM,MAAM,GAAI,CAAC,OAAK,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CA0B5D,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CacheDriver, ParentCacheDriver } from "./driver.ts";
|
|
2
|
+
import * as Duration from "effect/Duration";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
export interface MemoryTTLOpts {
|
|
5
|
+
/** The approx. number of milliseconds to keep items */
|
|
6
|
+
readonly ttl: Duration.Duration;
|
|
7
|
+
/**
|
|
8
|
+
* How often items should be cleared.
|
|
9
|
+
*/
|
|
10
|
+
readonly resolution?: Duration.Duration;
|
|
11
|
+
/**
|
|
12
|
+
* What sweep strategy to use.
|
|
13
|
+
*
|
|
14
|
+
* "activity" means the TTL is reset for every `set` OR `get` operation
|
|
15
|
+
* "usage" means the TTL is only reset for the `get` operation
|
|
16
|
+
*
|
|
17
|
+
* Defaults to "usage"
|
|
18
|
+
*/
|
|
19
|
+
readonly strategy?: "activity" | "usage" | "expiry";
|
|
20
|
+
}
|
|
21
|
+
export declare const create: <T>(opts: MemoryTTLOpts) => Effect.Effect<CacheDriver<never, T>>;
|
|
22
|
+
export declare const createWithParent: <T>(opts: MemoryTTLOpts) => Effect.Effect<ParentCacheDriver<never, T>>;
|
|
23
|
+
//# sourceMappingURL=memoryTTL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryTTL.d.ts","sourceRoot":"","sources":["../../src/Cache/memoryTTL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGjE,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;CACpD;AA6GD,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,MAAM,aAAa,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAqC,CAAA;AAE3E,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAChC,MAAM,aAAa,KAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAgFxC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type * as Scope from "effect/Scope";
|
|
3
|
+
import * as Stream from "effect/Stream";
|
|
4
|
+
import type { DiscordRESTError } from "../DiscordREST.ts";
|
|
5
|
+
import { DiscordREST } from "../DiscordREST.ts";
|
|
6
|
+
import type { CacheDriver, CacheOp, ParentCacheDriver, ParentCacheOp, Cache, ParentCache } from "../Cache.ts";
|
|
7
|
+
import { CacheMissError } from "../Cache.ts";
|
|
8
|
+
import { DiscordGateway } from "../DiscordGateway.ts";
|
|
9
|
+
import type * as Discord from "../types.ts";
|
|
10
|
+
export interface OptsWithParentOptions<E, A> {
|
|
11
|
+
readonly id: (a: A) => string;
|
|
12
|
+
readonly fromParent: Stream.Stream<[
|
|
13
|
+
parentId: string,
|
|
14
|
+
resources: ReadonlyArray<A>
|
|
15
|
+
], E>;
|
|
16
|
+
readonly create: Stream.Stream<[parentId: string, resource: A], E>;
|
|
17
|
+
readonly update: Stream.Stream<[parentId: string, resource: A], E>;
|
|
18
|
+
readonly remove: Stream.Stream<[parentId: string, id: string], E>;
|
|
19
|
+
readonly parentRemove: Stream.Stream<string, E>;
|
|
20
|
+
}
|
|
21
|
+
export declare const opsWithParent: <E, T>({ create, fromParent, id, parentRemove, remove, update, }: OptsWithParentOptions<E, T>) => Stream.Stream<ParentCacheOp<T>, E>;
|
|
22
|
+
export interface OpsOptions<E, A> {
|
|
23
|
+
id: (a: A) => string;
|
|
24
|
+
create: Stream.Stream<A, E>;
|
|
25
|
+
update: Stream.Stream<A, E>;
|
|
26
|
+
remove: Stream.Stream<string, E>;
|
|
27
|
+
}
|
|
28
|
+
export declare const ops: <E, T>({ create, id, remove, update, }: OpsOptions<E, T>) => Stream.Stream<CacheOp<T>, E>;
|
|
29
|
+
export declare const guilds: <RM, EM, E>(makeDriver: Effect.Effect<CacheDriver<E, Discord.GuildResponse>, EM, RM>) => Effect.Effect<Cache<E, DiscordRESTError, Discord.GuildResponse>, EM, RM | DiscordGateway | DiscordREST | Scope.Scope>;
|
|
30
|
+
export declare const channels: <RM, EM, E>(makeDriver: Effect.Effect<ParentCacheDriver<E, Discord.GetChannel200>, EM, RM>) => Effect.Effect<ParentCache<E, DiscordRESTError, DiscordRESTError, Discord.GetChannel200>, EM, DiscordGateway | DiscordREST | RM | Scope.Scope>;
|
|
31
|
+
export declare const roles: <RM, EM, E>(makeDriver: Effect.Effect<ParentCacheDriver<E, Discord.GuildRoleResponse>, EM, RM>) => Effect.Effect<ParentCache<E, CacheMissError, DiscordRESTError, Discord.GuildRoleResponse>, EM, DiscordGateway | DiscordREST | RM | Scope.Scope>;
|
|
32
|
+
//# sourceMappingURL=prelude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../../src/Cache/prelude.ts"],"names":[],"mappings":"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"}
|
package/dist/Cache.d.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { CacheDriver, ParentCacheDriver } from "./Cache/driver.ts";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import type * as Scope from "effect/Scope";
|
|
5
|
+
import * as Stream from "effect/Stream";
|
|
6
|
+
export * from "./Cache/driver.ts";
|
|
7
|
+
export { create as memoryDriver, createWithParent as memoryParentDriver, } from "./Cache/memory.ts";
|
|
8
|
+
export { create as memoryTTLDriver, createWithParent as memoryTTLParentDriver, } from "./Cache/memoryTTL.ts";
|
|
9
|
+
export type ParentCacheOp<T> = {
|
|
10
|
+
op: "create";
|
|
11
|
+
parentId: string;
|
|
12
|
+
resourceId: string;
|
|
13
|
+
resource: T;
|
|
14
|
+
} | {
|
|
15
|
+
op: "update";
|
|
16
|
+
parentId: string;
|
|
17
|
+
resourceId: string;
|
|
18
|
+
resource: T;
|
|
19
|
+
} | {
|
|
20
|
+
op: "delete";
|
|
21
|
+
parentId: string;
|
|
22
|
+
resourceId: string;
|
|
23
|
+
} | {
|
|
24
|
+
op: "parentDelete";
|
|
25
|
+
parentId: string;
|
|
26
|
+
};
|
|
27
|
+
export type CacheOp<T> = {
|
|
28
|
+
op: "create";
|
|
29
|
+
resourceId: string;
|
|
30
|
+
resource: T;
|
|
31
|
+
} | {
|
|
32
|
+
op: "update";
|
|
33
|
+
resourceId: string;
|
|
34
|
+
resource: T;
|
|
35
|
+
} | {
|
|
36
|
+
op: "delete";
|
|
37
|
+
resourceId: string;
|
|
38
|
+
};
|
|
39
|
+
export interface ParentCache<EDriver, EMiss, EPMiss, A> {
|
|
40
|
+
readonly get: (parentId: string, id: string) => Effect.Effect<A, EDriver | EMiss>;
|
|
41
|
+
readonly put: (_: A) => Effect.Effect<void, EDriver | EMiss>;
|
|
42
|
+
readonly update: <R, E>(parentId: string, id: string, f: (_: A) => Effect.Effect<A, E, R>) => Effect.Effect<A, EDriver | EMiss | E, R>;
|
|
43
|
+
readonly getForParent: (parentId: string) => Effect.Effect<ReadonlyMap<string, A>, EDriver | EPMiss>;
|
|
44
|
+
readonly size: Effect.Effect<number, EDriver>;
|
|
45
|
+
readonly sizeForParent: (parentId: string) => Effect.Effect<number, EDriver>;
|
|
46
|
+
readonly set: (parentId: string, resourceId: string, resource: A) => Effect.Effect<void, EDriver>;
|
|
47
|
+
readonly delete: (parentId: string, resourceId: string) => Effect.Effect<void, EDriver>;
|
|
48
|
+
readonly parentDelete: (parentId: string) => Effect.Effect<void, EDriver>;
|
|
49
|
+
readonly refreshTTL: (parentId: string, resourceId: string) => Effect.Effect<void, EDriver>;
|
|
50
|
+
}
|
|
51
|
+
export declare const makeWithParent: <EOps, EDriver, EMiss, EPMiss, A>({ driver, id: identify, onMiss, onParentMiss, ops, }: {
|
|
52
|
+
driver: ParentCacheDriver<EDriver, A>;
|
|
53
|
+
ops?: Stream.Stream<ParentCacheOp<A>, EOps>;
|
|
54
|
+
id: (_: A) => Effect.Effect<readonly [parentId: string, id: string], EMiss>;
|
|
55
|
+
onMiss: (parentId: string, id: string) => Effect.Effect<A, EMiss>;
|
|
56
|
+
onParentMiss: (parentId: string) => Effect.Effect<Array<readonly [id: string, resource: A]>, EPMiss>;
|
|
57
|
+
}) => Effect.Effect<ParentCache<EDriver, EMiss, EPMiss, A>, never, Scope.Scope>;
|
|
58
|
+
export interface Cache<EDriver, EMiss, A> {
|
|
59
|
+
readonly get: (id: string) => Effect.Effect<A, EDriver | EMiss>;
|
|
60
|
+
readonly put: (_: A) => Effect.Effect<void, EDriver>;
|
|
61
|
+
readonly update: <R, E>(id: string, f: (_: A) => Effect.Effect<A, E, R>) => Effect.Effect<A, EDriver | EMiss | E, R>;
|
|
62
|
+
readonly size: Effect.Effect<number, EDriver>;
|
|
63
|
+
readonly set: (resourceId: string, resource: A) => Effect.Effect<void, EDriver>;
|
|
64
|
+
readonly delete: (resourceId: string) => Effect.Effect<void, EDriver>;
|
|
65
|
+
readonly refreshTTL: (resourceId: string) => Effect.Effect<void, EDriver>;
|
|
66
|
+
}
|
|
67
|
+
export declare const make: <EOps, EDriver, EMiss, A>({ driver, id: identify, onMiss, ops, }: {
|
|
68
|
+
driver: CacheDriver<EDriver, A>;
|
|
69
|
+
ops?: Stream.Stream<CacheOp<A>, EOps>;
|
|
70
|
+
id: (_: A) => string;
|
|
71
|
+
onMiss: (id: string) => Effect.Effect<A, EMiss>;
|
|
72
|
+
}) => Effect.Effect<Cache<EDriver, EMiss, A>, never, Scope.Scope>;
|
|
73
|
+
export declare const CacheErrorTypeId: unique symbol;
|
|
74
|
+
export declare class CacheMissError extends Data.Error<{
|
|
75
|
+
cacheName: string;
|
|
76
|
+
id: string;
|
|
77
|
+
}> {
|
|
78
|
+
readonly _tag = "CacheMissError";
|
|
79
|
+
get message(): string;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=Cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as Discord from "./types.ts";
|
|
2
|
+
import * as Config from "effect/Config";
|
|
3
|
+
import * as Duration from "effect/Duration";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import type * as Redacted from "effect/Redacted";
|
|
6
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
7
|
+
export interface DiscordConfigService {
|
|
8
|
+
readonly token: Redacted.Redacted;
|
|
9
|
+
readonly rest: {
|
|
10
|
+
readonly baseUrl: string;
|
|
11
|
+
readonly globalRateLimit: {
|
|
12
|
+
readonly limit: number;
|
|
13
|
+
readonly window: Duration.Input;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
readonly gateway: {
|
|
17
|
+
readonly intents: number;
|
|
18
|
+
readonly presence?: Discord.GatewayPresenceUpdateData;
|
|
19
|
+
readonly shardCount?: number;
|
|
20
|
+
readonly identifyRateLimit: readonly [window: number, limit: number];
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
declare const DiscordConfig_base: ServiceMap.ServiceClass<DiscordConfig, "dfx/DiscordConfig", DiscordConfigService>;
|
|
24
|
+
export declare class DiscordConfig extends DiscordConfig_base {
|
|
25
|
+
}
|
|
26
|
+
export interface MakeOpts {
|
|
27
|
+
readonly token: Redacted.Redacted;
|
|
28
|
+
readonly rest?: Partial<DiscordConfigService["rest"]>;
|
|
29
|
+
readonly gateway?: Partial<DiscordConfigService["gateway"]>;
|
|
30
|
+
}
|
|
31
|
+
export declare const make: ({ gateway, rest, token, }: MakeOpts) => DiscordConfigService;
|
|
32
|
+
export declare const layer: (opts: MakeOpts) => Layer.Layer<DiscordConfig>;
|
|
33
|
+
export declare const layerConfig: (_: Config.Wrap<MakeOpts>) => Layer.Layer<DiscordConfig, Config.ConfigError>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=DiscordConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiscordConfig.d.ts","sourceRoot":"","sources":["../src/DiscordConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAI/C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,eAAe,EAAE;YACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAA;SAChC,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAA;QACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAE5B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KACrE,CAAA;CACF;;AACD,qBAAa,aAAc,SAAQ,kBAGX;CAAG;AAE3B,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;CAC5D;AAED,eAAO,MAAM,IAAI,GAAI,2BAIlB,QAAQ,KAAG,oBAgBZ,CAAA;AAEF,eAAO,MAAM,KAAK,GAAI,MAAM,QAAQ,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CACtB,CAAA;AAE1C,eAAO,MAAM,WAAW,GACtB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KACvB,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAC4B,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import type * as Discord from "../types.ts";
|
|
4
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
5
|
+
import * as Socket from "effect/unstable/socket/Socket";
|
|
6
|
+
import type * as Scope from "effect/Scope";
|
|
7
|
+
export type Message = Discord.GatewayReceivePayload;
|
|
8
|
+
export type MessageSend = Discord.GatewaySendPayload | Reconnect;
|
|
9
|
+
export declare const Reconnect: unique symbol;
|
|
10
|
+
export type Reconnect = typeof Reconnect;
|
|
11
|
+
export interface OpenOpts {
|
|
12
|
+
url?: string;
|
|
13
|
+
version?: number;
|
|
14
|
+
encoding?: DiscordWSCodec;
|
|
15
|
+
onConnecting: Effect.Effect<void>;
|
|
16
|
+
}
|
|
17
|
+
export interface DiscordWSCodecService {
|
|
18
|
+
type: "json" | "etf";
|
|
19
|
+
encode: (p: Discord.GatewaySendPayload) => Uint8Array | string;
|
|
20
|
+
decode: (p: Uint8Array | string) => Discord.GatewayReceivePayload;
|
|
21
|
+
}
|
|
22
|
+
declare const DiscordWSCodec_base: ServiceMap.ServiceClass<DiscordWSCodec, "dfx/DiscordGateway/DiscordWS/Codec", DiscordWSCodecService>;
|
|
23
|
+
export declare class DiscordWSCodec extends DiscordWSCodec_base {
|
|
24
|
+
}
|
|
25
|
+
export declare const JsonDiscordWSCodecLive: Layer.Layer<DiscordWSCodec, never, never>;
|
|
26
|
+
declare const DiscordWS_base: ServiceMap.ServiceClass<DiscordWS, "dfx/DiscordGateway/DiscordWS", {
|
|
27
|
+
readonly connect: (args_0: OpenOpts) => Effect.Effect<{
|
|
28
|
+
readonly take: Effect.Effect<Discord.GatewayReceivePayload, never, never>;
|
|
29
|
+
readonly setUrl: (url: string) => Effect.Effect<void, never, never>;
|
|
30
|
+
readonly write: (message: MessageSend) => Effect.Effect<void>;
|
|
31
|
+
}, never, Socket.WebSocketConstructor | Scope.Scope>;
|
|
32
|
+
}>;
|
|
33
|
+
export declare class DiscordWS extends DiscordWS_base {
|
|
34
|
+
}
|
|
35
|
+
export declare const DiscordWSLive: Layer.Layer<DiscordWS, never, DiscordWSCodec>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=DiscordWS.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,OAAO,MAAM,aAAa,CAAA;AAG3C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAK1C,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAA;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAA;AAEhE,eAAO,MAAM,SAAS,eAAgD,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAExC,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,kBAAkB,KAAK,UAAU,GAAG,MAAM,CAAA;IAC9D,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAA;CAClE;;AAID,qBAAa,cAAe,SAAQ,mBAGK;CAAG;AAE5C,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;;sBAgGoB,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CACnD;QACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAC1B,OAAO,CAAC,qBAAqB,EAC7B,KAAK,EACL,KAAK,CACN,CAAA;QACD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACnE,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9D,EACD,KAAK,EACL,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAC1C;;AAfL,qBAAa,SAAU,SAAQ,cAiBI;CAAG;AAEtC,eAAO,MAAM,aAAa,+CAAgC,CAAA"}
|