dfx 0.51.0 → 0.51.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.
- package/Cache/driver.d.ts +17 -16
- package/Cache/driver.d.ts.map +1 -1
- package/Cache/driver.js +10 -2
- package/Cache/driver.js.map +1 -1
- package/Cache/memory.d.ts +3 -3
- package/Cache/memory.d.ts.map +1 -1
- package/Cache/memory.js +55 -45
- package/Cache/memory.js.map +1 -1
- package/Cache/memoryTTL.d.ts +7 -6
- package/Cache/memoryTTL.d.ts.map +1 -1
- package/Cache/memoryTTL.js +126 -118
- package/Cache/memoryTTL.js.map +1 -1
- package/Cache/prelude.d.ts +53 -47
- package/Cache/prelude.d.ts.map +1 -1
- package/Cache/prelude.js +125 -96
- package/Cache/prelude.js.map +1 -1
- package/Cache.d.ts +33 -32
- package/Cache.d.ts.map +1 -1
- package/Cache.js +137 -65
- package/Cache.js.map +1 -1
- package/DiscordConfig.d.ts +26 -20
- package/DiscordConfig.d.ts.map +1 -1
- package/DiscordConfig.js +43 -25
- package/DiscordConfig.js.map +1 -1
- package/DiscordGateway/DiscordWS.d.ts +17 -14
- package/DiscordGateway/DiscordWS.d.ts.map +1 -1
- package/DiscordGateway/DiscordWS.js +49 -30
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Shard/heartbeats.d.ts +7 -3
- package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
- package/DiscordGateway/Shard/heartbeats.js +28 -18
- package/DiscordGateway/Shard/heartbeats.js.map +1 -1
- package/DiscordGateway/Shard/identify.d.ts +10 -8
- package/DiscordGateway/Shard/identify.d.ts.map +1 -1
- package/DiscordGateway/Shard/identify.js +41 -24
- package/DiscordGateway/Shard/identify.js.map +1 -1
- package/DiscordGateway/Shard/invalidSession.d.ts +6 -3
- package/DiscordGateway/Shard/invalidSession.d.ts.map +1 -1
- package/DiscordGateway/Shard/invalidSession.js +14 -5
- package/DiscordGateway/Shard/invalidSession.js.map +1 -1
- package/DiscordGateway/Shard/sendEvents.d.ts +1 -1
- package/DiscordGateway/Shard/sendEvents.d.ts.map +1 -1
- package/DiscordGateway/Shard/sendEvents.js +30 -18
- package/DiscordGateway/Shard/sendEvents.js.map +1 -1
- package/DiscordGateway/Shard/utils.d.ts +7 -3
- package/DiscordGateway/Shard/utils.d.ts.map +1 -1
- package/DiscordGateway/Shard/utils.js +19 -9
- package/DiscordGateway/Shard/utils.js.map +1 -1
- package/DiscordGateway/Shard.d.ts +15 -10
- package/DiscordGateway/Shard.d.ts.map +1 -1
- package/DiscordGateway/Shard.js +109 -87
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/ShardStore.d.ts +9 -6
- package/DiscordGateway/ShardStore.d.ts.map +1 -1
- package/DiscordGateway/ShardStore.js +30 -18
- package/DiscordGateway/ShardStore.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +17 -11
- package/DiscordGateway/Sharder.d.ts.map +1 -1
- package/DiscordGateway/Sharder.js +82 -52
- package/DiscordGateway/Sharder.js.map +1 -1
- package/DiscordGateway/WS.d.ts +13 -10
- package/DiscordGateway/WS.d.ts.map +1 -1
- package/DiscordGateway/WS.js +100 -74
- package/DiscordGateway/WS.js.map +1 -1
- package/DiscordGateway.d.ts +19 -13
- package/DiscordGateway.d.ts.map +1 -1
- package/DiscordGateway.js +45 -32
- package/DiscordGateway.js.map +1 -1
- package/DiscordREST/types.d.ts +5 -5
- package/DiscordREST/types.d.ts.map +1 -1
- package/DiscordREST/types.js +5 -1
- package/DiscordREST/types.js.map +1 -1
- package/DiscordREST/utils.d.ts +3 -2
- package/DiscordREST/utils.d.ts.map +1 -1
- package/DiscordREST/utils.js +27 -17
- package/DiscordREST/utils.js.map +1 -1
- package/DiscordREST.d.ts +11 -8
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +141 -127
- package/DiscordREST.js.map +1 -1
- package/Helpers/flags.js +31 -19
- package/Helpers/flags.js.map +1 -1
- package/Helpers/intents.d.ts.map +1 -1
- package/Helpers/intents.js +22 -10
- package/Helpers/intents.js.map +1 -1
- package/Helpers/interactions.d.ts +22 -21
- package/Helpers/interactions.d.ts.map +1 -1
- package/Helpers/interactions.js +75 -39
- package/Helpers/interactions.js.map +1 -1
- package/Helpers/members.d.ts +3 -3
- package/Helpers/members.d.ts.map +1 -1
- package/Helpers/members.js +10 -3
- package/Helpers/members.js.map +1 -1
- package/Helpers/permissions.d.ts +5 -4
- package/Helpers/permissions.d.ts.map +1 -1
- package/Helpers/permissions.js +69 -52
- package/Helpers/permissions.js.map +1 -1
- package/Helpers/ui.d.ts +1 -1
- package/Helpers/ui.d.ts.map +1 -1
- package/Helpers/ui.js +44 -29
- package/Helpers/ui.js.map +1 -1
- package/Interactions/builder.d.ts +20 -19
- package/Interactions/builder.d.ts.map +1 -1
- package/Interactions/builder.js +66 -63
- package/Interactions/builder.js.map +1 -1
- package/Interactions/context.d.ts +26 -23
- package/Interactions/context.d.ts.map +1 -1
- package/Interactions/context.js +86 -57
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +33 -30
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/definitions.js +61 -47
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/gateway.d.ts +15 -10
- package/Interactions/gateway.d.ts.map +1 -1
- package/Interactions/gateway.js +55 -42
- package/Interactions/gateway.js.map +1 -1
- package/Interactions/handlers.d.ts +6 -4
- package/Interactions/handlers.d.ts.map +1 -1
- package/Interactions/handlers.js +68 -57
- package/Interactions/handlers.js.map +1 -1
- package/Interactions/index.d.ts +11 -10
- package/Interactions/index.d.ts.map +1 -1
- package/Interactions/index.js +95 -10
- package/Interactions/index.js.map +1 -1
- package/Interactions/utils.d.ts +42 -40
- package/Interactions/utils.d.ts.map +1 -1
- package/Interactions/utils.js +40 -32
- package/Interactions/utils.js.map +1 -1
- package/Interactions/webhook.d.ts +20 -16
- package/Interactions/webhook.d.ts.map +1 -1
- package/Interactions/webhook.js +73 -41
- package/Interactions/webhook.js.map +1 -1
- package/Log.d.ts +8 -5
- package/Log.d.ts.map +1 -1
- package/Log.js +23 -14
- package/Log.js.map +1 -1
- package/RateLimit/memory.d.ts +1 -1
- package/RateLimit/memory.d.ts.map +1 -1
- package/RateLimit/memory.js +46 -33
- package/RateLimit/memory.js.map +1 -1
- package/RateLimit/utils.d.ts +1 -1
- package/RateLimit/utils.d.ts.map +1 -1
- package/RateLimit/utils.js +23 -16
- package/RateLimit/utils.js.map +1 -1
- package/RateLimit.d.ts +18 -14
- package/RateLimit.d.ts.map +1 -1
- package/RateLimit.js +40 -26
- package/RateLimit.js.map +1 -1
- package/gateway.d.ts +20 -13
- package/gateway.d.ts.map +1 -1
- package/gateway.js +72 -25
- package/gateway.js.map +1 -1
- package/index.d.ts +14 -13
- package/index.d.ts.map +1 -1
- package/index.js +71 -13
- package/index.js.map +1 -1
- package/mjs/Cache/driver.mjs +3 -0
- package/mjs/Cache/driver.mjs.map +1 -0
- package/mjs/Cache/memory.mjs +48 -0
- package/mjs/Cache/memory.mjs.map +1 -0
- package/mjs/Cache/memoryTTL.mjs +119 -0
- package/mjs/Cache/memoryTTL.mjs.map +1 -0
- package/mjs/Cache/prelude.mjs +125 -0
- package/mjs/Cache/prelude.mjs.map +1 -0
- package/mjs/Cache.mjs +87 -0
- package/mjs/Cache.mjs.map +1 -0
- package/mjs/DiscordConfig.mjs +34 -0
- package/mjs/DiscordConfig.mjs.map +1 -0
- package/mjs/DiscordGateway/DiscordWS.mjs +39 -0
- package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard/heartbeats.mjs +21 -0
- package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard/identify.mjs +37 -0
- package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard/invalidSession.mjs +6 -0
- package/mjs/DiscordGateway/Shard/invalidSession.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard/sendEvents.mjs +25 -0
- package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard/utils.mjs +11 -0
- package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard.mjs +99 -0
- package/mjs/DiscordGateway/Shard.mjs.map +1 -0
- package/mjs/DiscordGateway/ShardStore.mjs +24 -0
- package/mjs/DiscordGateway/ShardStore.mjs.map +1 -0
- package/mjs/DiscordGateway/Sharder.mjs +73 -0
- package/mjs/DiscordGateway/Sharder.mjs.map +1 -0
- package/mjs/DiscordGateway/WS.mjs +94 -0
- package/mjs/DiscordGateway/WS.mjs.map +1 -0
- package/mjs/DiscordGateway.mjs +36 -0
- package/mjs/DiscordGateway.mjs.map +1 -0
- package/mjs/DiscordREST/types.mjs +2 -0
- package/mjs/DiscordREST/types.mjs.map +1 -0
- package/mjs/DiscordREST/utils.mjs +19 -0
- package/mjs/DiscordREST/utils.mjs.map +1 -0
- package/mjs/DiscordREST.mjs +129 -0
- package/mjs/DiscordREST.mjs.map +1 -0
- package/mjs/Helpers/flags.mjs +36 -0
- package/mjs/Helpers/flags.mjs.map +1 -0
- package/mjs/Helpers/intents.mjs +27 -0
- package/mjs/Helpers/intents.mjs.map +1 -0
- package/mjs/Helpers/interactions.mjs +104 -0
- package/mjs/Helpers/interactions.mjs.map +1 -0
- package/mjs/Helpers/members.mjs +9 -0
- package/mjs/Helpers/members.mjs.map +1 -0
- package/mjs/Helpers/permissions.mjs +82 -0
- package/mjs/Helpers/permissions.mjs.map +1 -0
- package/mjs/Helpers/ui.mjs +66 -0
- package/mjs/Helpers/ui.mjs.map +1 -0
- package/mjs/Interactions/builder.mjs +62 -0
- package/mjs/Interactions/builder.mjs.map +1 -0
- package/mjs/Interactions/context.mjs +63 -0
- package/mjs/Interactions/context.mjs.map +1 -0
- package/mjs/Interactions/definitions.mjs +51 -0
- package/mjs/Interactions/definitions.mjs.map +1 -0
- package/mjs/Interactions/gateway.mjs +48 -0
- package/mjs/Interactions/gateway.mjs.map +1 -0
- package/mjs/Interactions/handlers.mjs +61 -0
- package/mjs/Interactions/handlers.mjs.map +1 -0
- package/mjs/Interactions/index.mjs +12 -0
- package/mjs/Interactions/index.mjs.map +1 -0
- package/mjs/Interactions/utils.mjs +35 -0
- package/mjs/Interactions/utils.mjs.map +1 -0
- package/mjs/Interactions/webhook.mjs +73 -0
- package/mjs/Interactions/webhook.mjs.map +1 -0
- package/mjs/Log.mjs +15 -0
- package/mjs/Log.mjs.map +1 -0
- package/mjs/RateLimit/memory.mjs +39 -0
- package/mjs/RateLimit/memory.mjs.map +1 -0
- package/mjs/RateLimit/utils.mjs +18 -0
- package/mjs/RateLimit/utils.mjs.map +1 -0
- package/mjs/RateLimit.mjs +29 -0
- package/mjs/RateLimit.mjs.map +1 -0
- package/mjs/gateway.mjs +27 -0
- package/mjs/gateway.mjs.map +1 -0
- package/mjs/index.mjs +15 -0
- package/mjs/index.mjs.map +1 -0
- package/mjs/types.mjs +1211 -0
- package/mjs/types.mjs.map +1 -0
- package/mjs/utils/Effect.mjs +28 -0
- package/mjs/utils/Effect.mjs.map +1 -0
- package/mjs/utils/tsplus.mjs +2 -0
- package/mjs/utils/tsplus.mjs.map +1 -0
- package/mjs/version.mjs +2 -0
- package/mjs/version.mjs.map +1 -0
- package/mjs/webhooks.mjs +30 -0
- package/mjs/webhooks.mjs.map +1 -0
- package/package.json +46 -50
- package/src/Cache/driver.ts +27 -15
- package/src/Cache/memory.ts +9 -5
- package/src/Cache/memoryTTL.ts +69 -53
- package/src/Cache/prelude.ts +113 -91
- package/src/Cache.ts +73 -58
- package/src/DiscordConfig.ts +33 -19
- package/src/DiscordGateway/DiscordWS.ts +28 -25
- package/src/DiscordGateway/Shard/heartbeats.ts +47 -27
- package/src/DiscordGateway/Shard/identify.ts +29 -25
- package/src/DiscordGateway/Shard/invalidSession.ts +9 -7
- package/src/DiscordGateway/Shard/sendEvents.ts +1 -1
- package/src/DiscordGateway/Shard/utils.ts +33 -9
- package/src/DiscordGateway/Shard.ts +119 -99
- package/src/DiscordGateway/ShardStore.ts +12 -5
- package/src/DiscordGateway/Sharder.ts +95 -74
- package/src/DiscordGateway/WS.ts +85 -60
- package/src/DiscordGateway.ts +58 -18
- package/src/DiscordREST/types.ts +5 -5
- package/src/DiscordREST/utils.ts +10 -7
- package/src/DiscordREST.ts +152 -132
- package/src/Helpers/intents.ts +1 -0
- package/src/Helpers/interactions.ts +51 -38
- package/src/Helpers/members.ts +2 -0
- package/src/Helpers/permissions.ts +6 -5
- package/src/Helpers/ui.ts +1 -1
- package/src/Interactions/builder.ts +56 -43
- package/src/Interactions/context.ts +68 -38
- package/src/Interactions/definitions.ts +32 -24
- package/src/Interactions/gateway.ts +72 -47
- package/src/Interactions/handlers.ts +56 -39
- package/src/Interactions/index.ts +6 -5
- package/src/Interactions/utils.ts +32 -21
- package/src/Interactions/webhook.ts +78 -42
- package/src/Log.ts +4 -0
- package/src/RateLimit/memory.ts +10 -4
- package/src/RateLimit/utils.ts +1 -1
- package/src/RateLimit.ts +38 -25
- package/src/gateway.ts +62 -25
- package/src/index.ts +29 -15
- package/src/utils/Effect.ts +69 -0
- package/src/version.ts +1 -0
- package/src/webhooks.ts +47 -20
- package/tsconfig.base.json +48 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.examples.json +11 -0
- package/tsconfig.json +12 -8
- package/tsconfig.madge.json +12 -0
- package/tsconfig.test.json +10 -0
- package/types.d.ts.map +1 -1
- package/types.js +1216 -1200
- package/types.js.map +1 -1
- package/utils/Effect.d.ts +8 -0
- package/utils/Effect.d.ts.map +1 -0
- package/utils/Effect.js +38 -0
- package/utils/Effect.js.map +1 -0
- package/utils/tsplus.js +5 -1
- package/utils/tsplus.js.map +1 -1
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +9 -0
- package/version.js.map +1 -0
- package/webhooks.d.ts +14 -9
- package/webhooks.d.ts.map +1 -1
- package/webhooks.js +76 -27
- package/webhooks.js.map +1 -1
- package/_common.d.ts +0 -37
- package/_common.d.ts.map +0 -1
- package/_common.js +0 -8
- package/_common.js.map +0 -1
- package/global.d.ts +0 -18
- package/global.d.ts.map +0 -1
- package/global.js +0 -2
- package/global.js.map +0 -1
- package/src/_common.ts +0 -43
- package/src/global.ts +0 -45
- package/src/package.json +0 -52
- package/src/utils/effect.ts +0 -0
- package/src/utils/hub.ts +0 -47
- package/tsplus.config.json +0 -8
- package/utils/effect.d.ts +0 -2
- package/utils/effect.d.ts.map +0 -1
- package/utils/effect.js +0 -2
- package/utils/effect.js.map +0 -1
- package/utils/hub.d.ts +0 -12
- package/utils/hub.d.ts.map +0 -1
- package/utils/hub.js +0 -26
- package/utils/hub.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharder.js","
|
|
1
|
+
{"version":3,"file":"Sharder.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","HashSet","Deferred","Effect","Layer","Ref","Schedule","_DiscordConfig","_Shard","_ShardStore","_DiscordREST","_RateLimit","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","claimRepeatPolicy","fixed","pipe","whileInput","_","_tag","passthrough","make","gen","store","ShardStore","rest","DiscordREST","gateway","config","DiscordConfig","limiter","RateLimiter","shard","Shard","currentShards","empty","takeConfig","totalCount","currentCount","claimId","sharderCount","repeat","map","value","getAndUpdate","flatMap","id","getGatewayBot","r","json","catchAll","succeed","url","shards","session_start_limit","total","remaining","reset_after","max_concurrency","run","hub","sendQueue","deferred","take","shardCount","spawner","concurrency","tap","maybeWait","millis","identifyRateLimit","c","connect","acquireUseRelease","update","add","remove","catchAllCause","failCause","fork","forever","spawners","range","all","discard","await","Sharder","Tag","exports","LiveSharder","provide","merge","LiveRateLimiter","LiveShard","effect"],"sources":["../src/DiscordGateway/Sharder.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/DiscordGateway/WS.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
/// <reference types="ws" />
|
|
3
|
-
import { Ref, Enqueue, Duration, Effect } from "dfx/_common";
|
|
4
2
|
import { Log } from "dfx/Log";
|
|
5
3
|
import WebSocket from "isomorphic-ws";
|
|
4
|
+
import * as Effect from "@effect/io/Effect";
|
|
5
|
+
import * as Layer from "@effect/io/Layer";
|
|
6
|
+
import { Tag } from "@effect/data/Context";
|
|
7
|
+
import * as Ref from "@effect/io/Ref";
|
|
8
|
+
import * as Duration from "@effect/data/Duration";
|
|
6
9
|
export declare const Reconnect: unique symbol;
|
|
7
10
|
export type Reconnect = typeof Reconnect;
|
|
8
|
-
export type Message = string |
|
|
11
|
+
export type Message = string | Uint8Array | ArrayBuffer | Reconnect;
|
|
9
12
|
export declare class WebSocketError {
|
|
10
13
|
readonly reason: "open-timeout" | "error";
|
|
11
14
|
readonly error?: unknown;
|
|
@@ -18,15 +21,15 @@ export declare class WebSocketCloseError {
|
|
|
18
21
|
readonly _tag = "WebSocketCloseError";
|
|
19
22
|
constructor(code: number, reason: string);
|
|
20
23
|
}
|
|
21
|
-
declare const make:
|
|
22
|
-
readonly connect: (url: Ref<string>, takeOutbound: Effect<never, never, Message>, onConnecting?:
|
|
23
|
-
readonly run:
|
|
24
|
-
readonly take:
|
|
24
|
+
declare const make: Effect.Effect<Log, never, {
|
|
25
|
+
readonly connect: (url: Ref.Ref<string>, takeOutbound: Effect.Effect<never, never, Message>, onConnecting?: Effect.Effect<never, never, void>, openTimeout?: Duration.Duration) => Effect.Effect<never, never, {
|
|
26
|
+
readonly run: Effect.Effect<never, WebSocketError | WebSocketCloseError, void>;
|
|
27
|
+
readonly take: Effect.Effect<never, never, WebSocket.Data>;
|
|
25
28
|
}>;
|
|
26
29
|
}>;
|
|
27
|
-
export interface WS extends Effect.Success<typeof make> {
|
|
30
|
+
export interface WS extends Effect.Effect.Success<typeof make> {
|
|
28
31
|
}
|
|
29
|
-
export declare const WS:
|
|
30
|
-
export declare const LiveWS:
|
|
32
|
+
export declare const WS: Tag<WS, WS>;
|
|
33
|
+
export declare const LiveWS: Layer.Layer<Log, never, WS>;
|
|
31
34
|
export {};
|
|
32
35
|
//# sourceMappingURL=WS.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/WS.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/WS.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAGrC,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAEjD,eAAO,MAAM,SAAS,eAAW,CAAA;AACjC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAA;AAEnE,qBAAa,cAAc;IAGvB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IACzC,QAAQ,CAAC,KAAK,CAAC;IAHjB,QAAQ,CAAC,IAAI,oBAAmB;gBAErB,MAAM,EAAE,cAAc,GAAG,OAAO,EAChC,KAAK,CAAC,SAAS;CAE3B;AAED,qBAAa,mBAAmB;IAElB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;IAD1D,QAAQ,CAAC,IAAI,yBAAwB;gBAChB,IAAI,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAC3D;AA4FD,QAAA,MAAM,IAAI;4BAID,OAAO,CAAC,MAAM,CAAC,gBACN,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;;;;EA0BpD,CAAA;AAEF,MAAM,WAAW,EAAG,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACjE,eAAO,MAAM,EAAE,aAAY,CAAA;AAC3B,eAAO,MAAM,MAAM,6BAAyB,CAAA"}
|
package/DiscordGateway/WS.js
CHANGED
|
@@ -1,82 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WebSocketError = exports.WebSocketCloseError = exports.WS = exports.Reconnect = exports.LiveWS = void 0;
|
|
7
|
+
var _Log = /*#__PURE__*/require("dfx/Log");
|
|
8
|
+
var _isomorphicWs = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("isomorphic-ws"));
|
|
9
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
10
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
|
|
11
|
+
var _Context = /*#__PURE__*/require("@effect/data/Context");
|
|
12
|
+
var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Ref"));
|
|
13
|
+
var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
|
|
14
|
+
var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Runtime"));
|
|
15
|
+
var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
const Reconnect = /*#__PURE__*/Symbol();
|
|
20
|
+
exports.Reconnect = Reconnect;
|
|
21
|
+
class WebSocketError {
|
|
22
|
+
reason;
|
|
23
|
+
error;
|
|
24
|
+
_tag = "WebSocketError";
|
|
25
|
+
constructor(reason, error) {
|
|
26
|
+
this.reason = reason;
|
|
27
|
+
this.error = error;
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
exports.WebSocketError = WebSocketError;
|
|
31
|
+
class WebSocketCloseError {
|
|
32
|
+
code;
|
|
33
|
+
reason;
|
|
34
|
+
_tag = "WebSocketCloseError";
|
|
35
|
+
constructor(code, reason) {
|
|
36
|
+
this.code = code;
|
|
37
|
+
this.reason = reason;
|
|
38
|
+
}
|
|
29
39
|
}
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
40
|
+
exports.WebSocketCloseError = WebSocketCloseError;
|
|
41
|
+
const isReconnect = e => e._tag === "WebSocketCloseError" && e.code === 1012;
|
|
42
|
+
const socket = urlRef => Ref.get(urlRef).pipe(Effect.map(_ => new _isomorphicWs.default(_)), Effect.acquireRelease(ws => Effect.sync(() => {
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-extra-semi
|
|
44
|
+
;
|
|
45
|
+
ws.removeAllListeners?.();
|
|
46
|
+
ws.close();
|
|
47
|
+
})));
|
|
48
|
+
const offer = (ws, queue, log) => Effect.runtime().pipe(Effect.flatMap(runtime => Effect.async(resume => {
|
|
49
|
+
const run = Runtime.runFork(runtime);
|
|
50
|
+
ws.addEventListener("message", message => {
|
|
51
|
+
run(Effect.all(log.debug("WS", "receive", message.data), Queue.offer(queue, message.data), {
|
|
52
|
+
concurrency: "unbounded",
|
|
53
|
+
discard: true
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
56
|
+
ws.addEventListener("error", cause => {
|
|
57
|
+
resume(Effect.fail(new WebSocketError("error", cause)));
|
|
58
|
+
});
|
|
59
|
+
ws.addEventListener("close", e => {
|
|
60
|
+
resume(Effect.fail(new WebSocketCloseError(e.code, e.reason)));
|
|
61
|
+
});
|
|
62
|
+
})));
|
|
63
|
+
const waitForOpen = (ws, timeout) => Effect.timeoutFail(Effect.suspend(() => {
|
|
64
|
+
if (ws.readyState === _isomorphicWs.default.OPEN) {
|
|
65
|
+
return Effect.unit;
|
|
66
|
+
}
|
|
67
|
+
return Effect.async(resume => {
|
|
68
|
+
ws.addEventListener("open", () => resume(Effect.unit), {
|
|
69
|
+
once: true
|
|
57
70
|
});
|
|
71
|
+
});
|
|
58
72
|
}), {
|
|
59
|
-
|
|
60
|
-
|
|
73
|
+
onTimeout: () => new WebSocketError("open-timeout"),
|
|
74
|
+
duration: timeout
|
|
61
75
|
});
|
|
62
|
-
const send = (ws, take, log) =>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return tsplus_module_1.sync(() => {
|
|
70
|
-
ws.send(data);
|
|
71
|
-
});
|
|
72
|
-
}));
|
|
73
|
-
const make = tsplus_module_1.map(tsplus_module_1.map(Log, tsplus_module_6.identity), log => {
|
|
74
|
-
const connect = (url, takeOutbound, onConnecting = tsplus_module_1.unit, openTimeout = tsplus_module_4.seconds(3)) => tsplus_module_1.map(tsplus_module_5.unbounded(), queue => {
|
|
75
|
-
const run = tsplus_module_1.retryWhile(tsplus_module_1.scoped(tsplus_module_1.flatMap(tsplus_module_1.zipRight(onConnecting, socket(url)), ws => tsplus_module_1.zipLeft(offer(ws, queue, log), tsplus_module_1.zipRight(waitForOpen(ws, openTimeout), send(ws, takeOutbound, log)), { parallel: true }))), isReconnect);
|
|
76
|
-
return { run, take: queue.take() };
|
|
76
|
+
const send = (ws, take, log) => take.pipe(Effect.tap(data => log.debug("WS", "send", data)), Effect.tap(data => {
|
|
77
|
+
if (data === Reconnect) {
|
|
78
|
+
return Effect.failSync(() => {
|
|
79
|
+
ws.close(1012, "reconnecting");
|
|
80
|
+
return new WebSocketCloseError(1012, "reconnecting");
|
|
77
81
|
});
|
|
78
|
-
|
|
82
|
+
}
|
|
83
|
+
return Effect.sync(() => {
|
|
84
|
+
ws.send(data);
|
|
85
|
+
});
|
|
86
|
+
}), Effect.forever);
|
|
87
|
+
const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
88
|
+
const log = yield* _(_Log.Log);
|
|
89
|
+
const connect = (url, takeOutbound, onConnecting = Effect.unit, openTimeout = Duration.seconds(3)) => Effect.gen(function* (_) {
|
|
90
|
+
const queue = yield* _(Queue.unbounded());
|
|
91
|
+
const run = onConnecting.pipe(Effect.zipRight(socket(url)), Effect.flatMap(ws => Effect.all(offer(ws, queue, log), waitForOpen(ws, openTimeout).pipe(Effect.zipRight(send(ws, takeOutbound, log))), {
|
|
92
|
+
concurrency: "unbounded",
|
|
93
|
+
discard: true
|
|
94
|
+
})), Effect.scoped, Effect.retryWhile(isReconnect));
|
|
95
|
+
return {
|
|
96
|
+
run,
|
|
97
|
+
take: Queue.take(queue)
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
connect
|
|
102
|
+
};
|
|
79
103
|
});
|
|
80
|
-
|
|
81
|
-
|
|
104
|
+
const WS = /*#__PURE__*/(0, _Context.Tag)();
|
|
105
|
+
exports.WS = WS;
|
|
106
|
+
const LiveWS = /*#__PURE__*/Layer.effect(WS, make);
|
|
107
|
+
exports.LiveWS = LiveWS;
|
|
82
108
|
//# sourceMappingURL=WS.js.map
|
package/DiscordGateway/WS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WS.js","
|
|
1
|
+
{"version":3,"file":"WS.js","names":["_Log","require","_isomorphicWs","_interopRequireDefault","Effect","_interopRequireWildcard","Layer","_Context","Ref","Queue","Runtime","Duration","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Reconnect","Symbol","exports","WebSocketError","reason","error","_tag","constructor","WebSocketCloseError","code","isReconnect","e","socket","urlRef","pipe","map","_","WebSocket","acquireRelease","ws","sync","removeAllListeners","close","offer","queue","log","runtime","flatMap","async","resume","run","runFork","addEventListener","message","all","debug","data","concurrency","discard","cause","fail","waitForOpen","timeout","timeoutFail","suspend","readyState","OPEN","unit","once","onTimeout","duration","send","take","tap","failSync","forever","make","gen","Log","connect","url","takeOutbound","onConnecting","openTimeout","seconds","unbounded","zipRight","scoped","retryWhile","WS","Tag","LiveWS","effect"],"sources":["../src/DiscordGateway/WS.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/DiscordGateway.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { Tag } from "@effect/data/Context";
|
|
2
|
+
import * as HashSet from "@effect/data/HashSet";
|
|
3
|
+
import * as Effect from "@effect/io/Effect";
|
|
4
|
+
import * as Layer from "@effect/io/Layer";
|
|
5
|
+
import * as Stream from "@effect/stream/Stream";
|
|
6
|
+
import { RunningShard } from "dfx/DiscordGateway/Shard";
|
|
7
|
+
import { Sharder } from "dfx/DiscordGateway/Sharder";
|
|
8
|
+
import { WebSocketCloseError, WebSocketError } from "dfx/DiscordGateway/WS";
|
|
9
|
+
import * as Discord from "dfx/types";
|
|
10
|
+
export interface DiscordGateway {
|
|
11
|
+
readonly run: Effect.Effect<never, WebSocketError | WebSocketCloseError, never>;
|
|
12
|
+
readonly dispatch: Stream.Stream<never, never, Discord.GatewayPayload<Discord.ReceiveEvent>>;
|
|
13
|
+
readonly fromDispatch: <K extends keyof Discord.ReceiveEvents>(event: K) => Stream.Stream<never, never, Discord.ReceiveEvents[K]>;
|
|
14
|
+
readonly handleDispatch: <K extends keyof Discord.ReceiveEvents, R, E, A>(event: K, handle: (event: Discord.ReceiveEvents[K]) => Effect.Effect<R, E, A>) => Effect.Effect<R, E, never>;
|
|
15
|
+
readonly send: (payload: Discord.GatewayPayload<Discord.SendEvent>) => Effect.Effect<never, never, boolean>;
|
|
16
|
+
readonly shards: Effect.Effect<never, never, HashSet.HashSet<RunningShard>>;
|
|
12
17
|
}
|
|
13
|
-
export declare const DiscordGateway:
|
|
14
|
-
export declare const
|
|
18
|
+
export declare const DiscordGateway: Tag<DiscordGateway, DiscordGateway>;
|
|
19
|
+
export declare const make: Effect.Effect<Sharder, never, DiscordGateway>;
|
|
20
|
+
export declare const LiveDiscordGateway: Layer.Layer<import("./DiscordConfig").DiscordConfig | import("./Log").Log | import("./RateLimit").RateLimitStore | import("./DiscordREST").DiscordREST | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec, never, DiscordGateway>;
|
|
15
21
|
//# sourceMappingURL=DiscordGateway.d.ts.map
|
package/DiscordGateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["src/DiscordGateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["./src/DiscordGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAe,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAyBpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CACzB,KAAK,EACL,cAAc,GAAG,mBAAmB,EACpC,KAAK,CACN,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAC9B,KAAK,EACL,KAAK,EACL,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAC7C,CAAA;IACD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAC3D,KAAK,EAAE,CAAC,KACL,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;CAC5E;AACD,eAAO,MAAM,cAAc,qCAAwB,CAAA;AAEnD,eAAO,MAAM,IAAI,+CA0Bf,CAAA;AAEF,eAAO,MAAM,kBAAkB,yRAG9B,CAAA"}
|
package/DiscordGateway.js
CHANGED
|
@@ -1,34 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import * as tsplus_module_5 from "@effect/io/Hub";
|
|
6
|
-
import * as tsplus_module_6 from "@effect/data/Function";
|
|
7
|
-
import * as tsplus_module_7 from "dfx/_common";
|
|
8
|
-
import * as tsplus_module_8 from "@effect/io/Layer";
|
|
9
|
-
import { LiveSharder, Sharder } from "./DiscordGateway/Sharder.js";
|
|
10
|
-
const fromDispatchFactory = (source) => (event) => tsplus_module_1.map(tsplus_module_1.filter(source, p => p.t === event), p => p.d);
|
|
11
|
-
const handleDispatchFactory = (hub) => (event, handle) => tsplus_module_3.subscribeForEachPar(hub, _ => {
|
|
12
|
-
if (_.t === event) {
|
|
13
|
-
return handle(_.d);
|
|
14
|
-
}
|
|
15
|
-
return tsplus_module_2.unit;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
16
5
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
6
|
+
exports.make = exports.LiveDiscordGateway = exports.DiscordGateway = void 0;
|
|
7
|
+
var _Context = /*#__PURE__*/require("@effect/data/Context");
|
|
8
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
9
|
+
var Hub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Hub"));
|
|
10
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
|
|
11
|
+
var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Queue"));
|
|
12
|
+
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stream/Stream"));
|
|
13
|
+
var _Sharder = /*#__PURE__*/require("dfx/DiscordGateway/Sharder");
|
|
14
|
+
var EffectUtils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
const fromDispatchFactory = source => event => Stream.filter(source, p => p.t === event).pipe(Stream.map(p => p.d));
|
|
18
|
+
const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeForEachPar(hub, _ => {
|
|
19
|
+
if (_.t === event) {
|
|
20
|
+
return handle(_.d);
|
|
21
|
+
}
|
|
22
|
+
return Effect.unit;
|
|
23
|
+
});
|
|
24
|
+
const DiscordGateway = /*#__PURE__*/(0, _Context.Tag)();
|
|
25
|
+
exports.DiscordGateway = DiscordGateway;
|
|
26
|
+
const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
27
|
+
const sharder = yield* _(_Sharder.Sharder);
|
|
28
|
+
const hub = yield* _(Hub.unbounded());
|
|
29
|
+
const sendQueue = yield* _(Queue.unbounded());
|
|
30
|
+
const send = payload => sendQueue.offer(payload);
|
|
31
|
+
const dispatch = Stream.fromHub(hub);
|
|
32
|
+
const fromDispatch = fromDispatchFactory(dispatch);
|
|
33
|
+
const handleDispatch = handleDispatchFactory(hub);
|
|
34
|
+
const run = sharder.run(hub, sendQueue);
|
|
35
|
+
return DiscordGateway.of({
|
|
36
|
+
run,
|
|
37
|
+
dispatch,
|
|
38
|
+
fromDispatch,
|
|
39
|
+
handleDispatch,
|
|
40
|
+
send,
|
|
41
|
+
shards: sharder.shards
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
exports.make = make;
|
|
45
|
+
const LiveDiscordGateway = /*#__PURE__*/Layer.provide(_Sharder.LiveSharder, /*#__PURE__*/Layer.effect(DiscordGateway, make));
|
|
46
|
+
exports.LiveDiscordGateway = LiveDiscordGateway;
|
|
34
47
|
//# sourceMappingURL=DiscordGateway.js.map
|
package/DiscordGateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordGateway.js","
|
|
1
|
+
{"version":3,"file":"DiscordGateway.js","names":["_Context","require","Effect","_interopRequireWildcard","Hub","Layer","Queue","Stream","_Sharder","EffectUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fromDispatchFactory","source","event","filter","p","t","pipe","map","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","unit","DiscordGateway","Tag","exports","make","gen","sharder","Sharder","unbounded","sendQueue","send","payload","offer","dispatch","fromHub","fromDispatch","handleDispatch","run","of","shards","LiveDiscordGateway","provide","LiveSharder","effect"],"sources":["./src/DiscordGateway.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/DiscordREST/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
|
-
import { DiscordRESTError } from "dfx/DiscordREST";
|
|
3
|
-
import
|
|
1
|
+
import type * as Http from "@effect-http/client";
|
|
2
|
+
import type { DiscordRESTError } from "dfx/DiscordREST";
|
|
3
|
+
import type * as Effect from "@effect/io/Effect";
|
|
4
4
|
export interface ResponseWithData<A> extends Http.response.Response {
|
|
5
|
-
readonly json: Effect<never, Http.ResponseDecodeError, A>;
|
|
5
|
+
readonly json: Effect.Effect<never, Http.ResponseDecodeError, A>;
|
|
6
6
|
}
|
|
7
|
-
export type RestResponse<T> = Effect<never, DiscordRESTError, ResponseWithData<T>>;
|
|
7
|
+
export type RestResponse<T> = Effect.Effect<never, DiscordRESTError, ResponseWithData<T>>;
|
|
8
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/DiscordREST/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/DiscordREST/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAA;CACjE;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CACzC,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAA"}
|
package/DiscordREST/types.js
CHANGED
package/DiscordREST/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/DiscordREST/types.ts"],"sourcesContent":[null],"mappings":""}
|
package/DiscordREST/utils.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as Option from "@effect/data/Option";
|
|
2
|
+
import * as Duration from "@effect/data/Duration";
|
|
2
3
|
export declare const routeFromConfig: (path: string, method: string) => string;
|
|
3
4
|
export declare const numberHeader: (headers: Headers) => (key: string) => Option.Option<number>;
|
|
4
|
-
export declare const retryAfter: (headers: Headers) => Option.Option<
|
|
5
|
+
export declare const retryAfter: (headers: Headers) => Option.Option<Duration.Duration>;
|
|
5
6
|
export declare const rateLimitFromHeaders: (headers: Headers) => Option.Option<{
|
|
6
7
|
bucket: string;
|
|
7
|
-
retryAfter:
|
|
8
|
+
retryAfter: Duration.Duration;
|
|
8
9
|
limit: number;
|
|
9
10
|
remaining: number;
|
|
10
11
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/DiscordREST/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/DiscordREST/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AAIjD,eAAO,MAAM,eAAe,SAAU,MAAM,UAAU,MAAM,WAW3D,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,MAAM,0BAI3D,CAAA;AAEH,eAAO,MAAM,UAAU,YAAa,OAAO,qCAIxC,CAAA;AAEH,eAAO,MAAM,oBAAoB,YAAa,OAAO;;;;;EAMjD,CAAA;AACJ,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
package/DiscordREST/utils.js
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.routeFromConfig = exports.retryAfter = exports.rateLimitFromHeaders = exports.numberHeader = void 0;
|
|
7
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
|
|
8
|
+
var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Duration"));
|
|
9
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
3
11
|
const majorResources = ["channels", "guilds", "webhooks"];
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.replace(/\/reactions\/(.*)/, "/reactions");
|
|
11
|
-
return `${method}-${routeURL}`;
|
|
12
|
+
const routeFromConfig = (path, method) => {
|
|
13
|
+
// Only keep major ID's
|
|
14
|
+
const routeURL = path.split("?")[0].replace(/\/([A-Za-z]+)\/(\d{16,21}|@me)/g, (match, resource) => majorResources.includes(resource) ? match : `/${resource}`)
|
|
15
|
+
// Strip reactions
|
|
16
|
+
.replace(/\/reactions\/(.*)/, "/reactions");
|
|
17
|
+
return `${method}-${routeURL}`;
|
|
12
18
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
exports.routeFromConfig = routeFromConfig;
|
|
20
|
+
const numberHeader = headers => key => Option.fromNullable(headers.get(key)).pipe(Option.map(parseFloat), Option.filter(n => !isNaN(n)));
|
|
21
|
+
exports.numberHeader = numberHeader;
|
|
22
|
+
const retryAfter = headers => numberHeader(headers)("x-ratelimit-reset-after").pipe(Option.orElse(() => numberHeader(headers)("retry-after")), Option.map(Duration.seconds));
|
|
23
|
+
exports.retryAfter = retryAfter;
|
|
24
|
+
const rateLimitFromHeaders = headers => Option.all({
|
|
25
|
+
bucket: Option.fromNullable(headers.get("x-ratelimit-bucket")),
|
|
26
|
+
retryAfter: retryAfter(headers),
|
|
27
|
+
limit: numberHeader(headers)("x-ratelimit-limit"),
|
|
28
|
+
remaining: numberHeader(headers)("x-ratelimit-remaining")
|
|
20
29
|
});
|
|
30
|
+
exports.rateLimitFromHeaders = rateLimitFromHeaders;
|
|
21
31
|
//# sourceMappingURL=utils.js.map
|