dfx 0.42.1 → 0.42.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.
|
@@ -18,7 +18,7 @@ const make = tsplus_module_5.flatMap(WS, ws => tsplus_module_5.map(DiscordWSCode
|
|
|
18
18
|
return tsplus_module_5.map(ws.connect(urlRef, takeOutbound, onReconnect), socket => {
|
|
19
19
|
const take = tsplus_module_5.map(socket.take, encoding.decode);
|
|
20
20
|
const run = tsplus_module_5.retry(socket.run, tsplus_module_4.whileInput(tsplus_module_4.exponential(tsplus_module_3.seconds(0.5)), (_) => (_._tag === "WebSocketCloseError" && _.code < 2000) ||
|
|
21
|
-
(_._tag === "WebSocketError" && _.reason === "open")));
|
|
21
|
+
(_._tag === "WebSocketError" && _.reason === "open-timeout")));
|
|
22
22
|
return {
|
|
23
23
|
run,
|
|
24
24
|
take,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordWS.js","sourceRoot":"","sources":["../../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,EAAE,GAGH,MAAM,uBAAuB,CAAA;AAkB9B,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAc,cAAc,EAAE;IAClE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,IAAI,2BACK,EAAE,EAAT,EAAE,wBACW,cAAc,EAA3B,QAAQ;IAEd,MAAM,OAAO,GAAG,CAAC,EACf,GAAG,GAAG,2BAA2B,EACjC,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,WAAW,GACF,EAAE,EAAE,yBAGT,qBAAS,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,EADrD,MAAM;QAGZ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,oBAAA,MAAM,EAAK,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,YAAY,GAAG,oBAAA,QAAQ,EAAK,CAAC,CAAC,EAAE,CACpC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACzC,CAAA;mCACgB,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,EAAxD,MAAM;YACZ,MAAM,IAAI,GAAG,oBAAA,MAAM,CAAC,IAAI,EAAK,QAAQ,CAAC,MAAM,CAAC,CAAA;YAE7C,MAAM,GAAG,GAAG,sBAAA,MAAM,CAAC,GAAG,EACpB,2BAAA,4BAAqB,wBAAiB,GAAG,CAAC,CAAC,EACzC,CAAC,CAAuC,EAAE,EAAE,CAC1C,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnD,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"DiscordWS.js","sourceRoot":"","sources":["../../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,EAAE,GAGH,MAAM,uBAAuB,CAAA;AAkB9B,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAc,cAAc,EAAE;IAClE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,IAAI,2BACK,EAAE,EAAT,EAAE,wBACW,cAAc,EAA3B,QAAQ;IAEd,MAAM,OAAO,GAAG,CAAC,EACf,GAAG,GAAG,2BAA2B,EACjC,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,WAAW,GACF,EAAE,EAAE,yBAGT,qBAAS,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,EADrD,MAAM;QAGZ,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAC7B,oBAAA,MAAM,EAAK,GAAG,GAAG,MAAM,OAAO,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7D,MAAM,YAAY,GAAG,oBAAA,QAAQ,EAAK,CAAC,CAAC,EAAE,CACpC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACzC,CAAA;mCACgB,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,EAAxD,MAAM;YACZ,MAAM,IAAI,GAAG,oBAAA,MAAM,CAAC,IAAI,EAAK,QAAQ,CAAC,MAAM,CAAC,CAAA;YAE7C,MAAM,GAAG,GAAG,sBAAA,MAAM,CAAC,GAAG,EACpB,2BAAA,4BAAqB,wBAAiB,GAAG,CAAC,CAAC,EACzC,CAAC,CAAuC,EAAE,EAAE,CAC1C,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnD,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAC/D,CACF,CAAA;YAED,OAAO;gBACL,GAAG;gBACH,IAAI;gBACJ,MAAM;aACE,CAAA;;MACV,CAAA;IAEJ,OAAO,EAAE,OAAO,EAAW,CAAA;GAC3B,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAA,GAAG,EAAa,CAAA;AACzC,MAAM,CAAC,MAAM,aAAa,2BAAa,wBAAA,IAAI,EAAS,SAAS,CAAC,EAAjC,MAAM,CAA2B,CAAA"}
|
package/DiscordGateway/WS.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="ws" />
|
|
3
|
-
import { Ref, Enqueue, Effect } from "dfx/_common";
|
|
3
|
+
import { Ref, Enqueue, Duration, Effect } from "dfx/_common";
|
|
4
4
|
import { Log } from "dfx/Log";
|
|
5
5
|
import WebSocket from "isomorphic-ws";
|
|
6
6
|
export declare const Reconnect: unique symbol;
|
|
7
7
|
export type Reconnect = typeof Reconnect;
|
|
8
8
|
export type Message = string | Buffer | ArrayBuffer | Reconnect;
|
|
9
9
|
export declare class WebSocketError {
|
|
10
|
-
readonly reason: "open" | "error";
|
|
10
|
+
readonly reason: "open-timeout" | "error";
|
|
11
11
|
readonly error?: unknown;
|
|
12
12
|
readonly _tag = "WebSocketError";
|
|
13
|
-
constructor(reason: "open" | "error", error?: unknown);
|
|
13
|
+
constructor(reason: "open-timeout" | "error", error?: unknown);
|
|
14
14
|
}
|
|
15
15
|
export declare class WebSocketCloseError {
|
|
16
16
|
readonly code: number;
|
package/DiscordGateway/WS.js
CHANGED
|
@@ -25,17 +25,11 @@ export class WebSocketCloseError {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
const isReconnect = (e) => e._tag === "WebSocketCloseError" && e.code === 1012;
|
|
28
|
-
const socket = (urlRef) => tsplus_module_1.
|
|
28
|
+
const socket = (urlRef) => tsplus_module_1.acquireRelease(tsplus_module_1.map(tsplus_module_2.get(urlRef), _ => new WebSocket(_)), ws => tsplus_module_1.sync(() => {
|
|
29
29
|
;
|
|
30
30
|
ws.removeAllListeners?.();
|
|
31
31
|
ws.close();
|
|
32
|
-
}))
|
|
33
|
-
? tsplus_module_1.unit()
|
|
34
|
-
: tsplus_module_1.async(resume => {
|
|
35
|
-
ws.addEventListener("open", () => resume(tsplus_module_1.unit()), {
|
|
36
|
-
once: true,
|
|
37
|
-
});
|
|
38
|
-
}));
|
|
32
|
+
}));
|
|
39
33
|
const offer = (ws, queue, log) => tsplus_module_1.async(resume => {
|
|
40
34
|
ws.addEventListener("message", message => {
|
|
41
35
|
tsplus_module_1.runFork(tsplus_module_1.zipLeft(queue.offer(message.data), log.debug("WS", "offer", message.data)));
|
|
@@ -47,20 +41,33 @@ const offer = (ws, queue, log) => tsplus_module_1.async(resume => {
|
|
|
47
41
|
resume(tsplus_module_1.fail(new WebSocketCloseError(e.code, e.reason)));
|
|
48
42
|
});
|
|
49
43
|
});
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
return tsplus_module_1.
|
|
53
|
-
ws.close(1012, "reconnecting");
|
|
54
|
-
return new WebSocketCloseError(1012, "reconnecting");
|
|
55
|
-
});
|
|
44
|
+
const waitForOpen = (ws, timeout) => tsplus_module_1.timeoutFail(tsplus_module_1.suspend(() => {
|
|
45
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
46
|
+
return tsplus_module_1.unit();
|
|
56
47
|
}
|
|
57
|
-
return tsplus_module_1.
|
|
58
|
-
ws.
|
|
48
|
+
return tsplus_module_1.async(resume => {
|
|
49
|
+
ws.addEventListener("open", () => resume(tsplus_module_1.unit()), {
|
|
50
|
+
once: true,
|
|
51
|
+
});
|
|
59
52
|
});
|
|
60
|
-
}));
|
|
53
|
+
}), () => new WebSocketError("open-timeout"), timeout);
|
|
54
|
+
const send = (ws, take, log, openTimeout) => {
|
|
55
|
+
const loop = tsplus_module_1.forever(tsplus_module_1.tap(tsplus_module_1.tap(take, data => log.debug("WS", "send", data)), (data) => {
|
|
56
|
+
if (data === Reconnect) {
|
|
57
|
+
return tsplus_module_1.failSync(() => {
|
|
58
|
+
ws.close(1012, "reconnecting");
|
|
59
|
+
return new WebSocketCloseError(1012, "reconnecting");
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return tsplus_module_1.sync(() => {
|
|
63
|
+
ws.send(data);
|
|
64
|
+
});
|
|
65
|
+
}));
|
|
66
|
+
return tsplus_module_1.zipRight(waitForOpen(ws, openTimeout), loop);
|
|
67
|
+
};
|
|
61
68
|
const make = tsplus_module_1.map(Log, log => {
|
|
62
69
|
const connect = (url, takeOutbound, onReconnect = tsplus_module_1.unit(), openTimeout = tsplus_module_3.seconds(3)) => tsplus_module_1.map(tsplus_module_4.unbounded(), queue => {
|
|
63
|
-
const run = tsplus_module_1.scoped(tsplus_module_1.retryWhile(tsplus_module_1.tapError(tsplus_module_1.flatMap(
|
|
70
|
+
const run = tsplus_module_1.scoped(tsplus_module_1.retryWhile(tsplus_module_1.tapError(tsplus_module_1.flatMap(socket(url), ws => tsplus_module_1.zipParLeft(offer(ws, queue, log), send(ws, takeOutbound, log, openTimeout))), _ => (isReconnect(_) ? onReconnect : tsplus_module_1.unit())), isReconnect));
|
|
64
71
|
return { run, take: queue.take() };
|
|
65
72
|
});
|
|
66
73
|
return { connect };
|
package/DiscordGateway/WS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WS.js","sourceRoot":"","sources":["../../src/DiscordGateway/WS.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,SAAS,MAAM,eAAe,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAIjC,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"WS.js","sourceRoot":"","sources":["../../src/DiscordGateway/WS.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.42.
|
|
3
|
+
"version": "0.42.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"ws": "^8.13.0"
|
|
51
51
|
},
|
|
52
52
|
"sideEffects": false,
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "3885d0874380e6814794f3b287e0b706cd3ff0af"
|
|
54
54
|
}
|