wspromisify 2.12.0 → 3.0.1
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/bundle.cjs +681 -1
- package/dist/bundle.d.ts +70 -29
- package/dist/bundle.mjs +679 -1
- package/package.json +6 -6
- package/pnpm-workspace.yaml +2 -0
- package/tsconfig.json +0 -20
package/dist/bundle.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Generated by dts-bundle-generator v9.5.1
|
|
2
2
|
|
|
3
|
+
import { AnyFunc } from 'pepka';
|
|
4
|
+
|
|
3
5
|
declare namespace wsc {
|
|
4
6
|
interface DataObject {
|
|
5
7
|
[key: string]: any;
|
|
@@ -17,17 +19,31 @@ declare namespace wsc {
|
|
|
17
19
|
type EventHandler = (e: any) => void;
|
|
18
20
|
type Predicate = (data: any) => boolean;
|
|
19
21
|
type DataPipe = (message: any) => any;
|
|
20
|
-
|
|
22
|
+
interface TimeFnParams {
|
|
23
|
+
base: number;
|
|
24
|
+
max: number;
|
|
25
|
+
jitter: number;
|
|
26
|
+
}
|
|
21
27
|
interface Config {
|
|
22
|
-
data_type: DataType;
|
|
23
28
|
log(event: string, time?: number | null, message?: any): void;
|
|
24
29
|
log(event: string, message?: any): void;
|
|
25
30
|
timer: boolean;
|
|
26
31
|
url: string;
|
|
27
32
|
timeout: number;
|
|
28
|
-
reconnect:
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
reconnect: {
|
|
34
|
+
stop_after: number;
|
|
35
|
+
on_timeout: boolean;
|
|
36
|
+
on_break: boolean;
|
|
37
|
+
time_fn: import("pepka").AnyFunc<number, [
|
|
38
|
+
params: wsc.TimeFnParams,
|
|
39
|
+
attempt: number
|
|
40
|
+
]>;
|
|
41
|
+
params: {
|
|
42
|
+
base: number;
|
|
43
|
+
max: number;
|
|
44
|
+
jitter: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
31
47
|
max_idle_time: number;
|
|
32
48
|
lazy: boolean;
|
|
33
49
|
socket: Socket | null;
|
|
@@ -44,71 +60,96 @@ declare namespace wsc {
|
|
|
44
60
|
};
|
|
45
61
|
ping: {
|
|
46
62
|
interval: number;
|
|
47
|
-
|
|
48
|
-
|
|
63
|
+
timeout?: number;
|
|
64
|
+
in: string | Uint8Array;
|
|
65
|
+
out: string | Uint8Array;
|
|
66
|
+
} | false;
|
|
49
67
|
}
|
|
50
|
-
type UserConfig =
|
|
68
|
+
type UserConfig = import("type-fest").PartialDeep<Config> & Pick<Config, "url">;
|
|
51
69
|
type SendOptions = Partial<{
|
|
52
70
|
top: any;
|
|
53
|
-
data_type: DataType;
|
|
54
|
-
_is_ping: boolean;
|
|
55
71
|
}>;
|
|
56
72
|
interface Message {
|
|
57
73
|
msg: any;
|
|
58
74
|
ff(x: any): any;
|
|
59
|
-
data_type: DataType;
|
|
60
75
|
sent_time: number | null;
|
|
61
76
|
}
|
|
62
77
|
}
|
|
63
|
-
|
|
78
|
+
declare const label_message_ext = "message-ext";
|
|
79
|
+
export type EventHandler<T extends keyof WebSocketEventMap> = AnyFunc<any, [
|
|
80
|
+
WebSocketEventMap[T]
|
|
81
|
+
]>;
|
|
82
|
+
export type RouteHandler<T> = AnyFunc<any, [
|
|
83
|
+
data: T,
|
|
84
|
+
next: AnyFunc
|
|
85
|
+
]>;
|
|
86
|
+
export type EventHandlers = {
|
|
87
|
+
open: EventHandler<"open">[];
|
|
88
|
+
close: EventHandler<"close">[];
|
|
89
|
+
error: EventHandler<"error">[];
|
|
90
|
+
message: AnyFunc<any, [
|
|
91
|
+
WebSocketEventMap["message"] & {
|
|
92
|
+
data: any;
|
|
93
|
+
}
|
|
94
|
+
]>[];
|
|
95
|
+
[label_message_ext]: AnyFunc<any, [
|
|
96
|
+
WebSocketEventMap["message"] & {
|
|
97
|
+
data: any;
|
|
98
|
+
}
|
|
99
|
+
]>[];
|
|
100
|
+
timeout: AnyFunc<any, [
|
|
101
|
+
data: any
|
|
102
|
+
]>[];
|
|
103
|
+
};
|
|
104
|
+
export declare class WebSocketClient<T extends Uint8Array | string = string> {
|
|
64
105
|
private ws;
|
|
65
106
|
private intentionally_closed;
|
|
66
107
|
private reconnect_timeout;
|
|
67
108
|
private queue;
|
|
68
|
-
private onReadyQueue;
|
|
69
|
-
private onCloseQueue;
|
|
70
|
-
private onReadyFailQueue;
|
|
71
109
|
private handlers;
|
|
72
110
|
private config;
|
|
73
111
|
private ping_timer;
|
|
74
112
|
private idle_timer;
|
|
113
|
+
private zombie_timer;
|
|
114
|
+
private router;
|
|
75
115
|
private get opened();
|
|
76
|
-
private init_flush;
|
|
77
116
|
private call;
|
|
78
117
|
private log;
|
|
79
118
|
private resetPing;
|
|
119
|
+
private resetZombieProbe;
|
|
80
120
|
private resetIdle;
|
|
81
121
|
private _reconnecting;
|
|
122
|
+
private reconnect_start;
|
|
82
123
|
private reconnect;
|
|
124
|
+
private resetReconnect;
|
|
83
125
|
private initSocket;
|
|
84
|
-
private
|
|
126
|
+
private _opening;
|
|
127
|
+
/** returns status if won't open or null if ok. */
|
|
85
128
|
private connect;
|
|
86
129
|
get socket(): wsc.Socket | null;
|
|
87
|
-
ready(): Promise<void>;
|
|
88
|
-
on(event_name:
|
|
89
|
-
off(event_name:
|
|
90
|
-
|
|
130
|
+
ready(timeout?: number): Promise<void>;
|
|
131
|
+
on(event_name: keyof EventHandlers, handler: wsc.EventHandler, predicate?: wsc.Predicate, raw?: boolean): wsc.EventHandler;
|
|
132
|
+
off(event_name: keyof EventHandlers, handler: wsc.EventHandler, raw?: boolean): void;
|
|
133
|
+
private terminate;
|
|
134
|
+
close(timeout?: number): wsc.AsyncErrCode;
|
|
91
135
|
open(): Promise<number | null> | undefined;
|
|
92
|
-
addEventListener(e:
|
|
136
|
+
addEventListener(e: keyof EventHandlers, cb: wsc.EventHandler, opts?: {
|
|
93
137
|
predicate?: wsc.Predicate;
|
|
94
138
|
raw?: boolean;
|
|
95
139
|
}): wsc.EventHandler;
|
|
96
|
-
removeEventListener(e:
|
|
140
|
+
removeEventListener(e: keyof EventHandlers, handler: wsc.EventHandler, opts?: {
|
|
97
141
|
predicate?: wsc.Predicate;
|
|
98
142
|
raw?: boolean;
|
|
99
143
|
}): void;
|
|
100
144
|
private prepareMessage;
|
|
101
|
-
/** .send(your_data) wraps request to server with {id: `
|
|
145
|
+
/** .send(your_data) wraps request to server with {id: `unique_id`, data: `actually your data`},
|
|
102
146
|
returns a Promise that will be rejected after a timeout or
|
|
103
147
|
resolved if server returns the same signature: {id: `same_hash`, data: `response data`}.
|
|
104
148
|
*/
|
|
105
149
|
send<RequestDataType = any, ResponseDataType = any>(message_data: RequestDataType, opts?: wsc.SendOptions): Promise<ResponseDataType>;
|
|
106
150
|
stream<RequestDataType = any, ResponseDataType = any>(message_data: RequestDataType, opts?: wsc.SendOptions): AsyncGenerator<ResponseDataType, void, unknown>;
|
|
107
|
-
|
|
151
|
+
route(handler: RouteHandler<T>): void;
|
|
152
|
+
constructor(user_config: wsc.UserConfig);
|
|
108
153
|
}
|
|
109
154
|
|
|
110
|
-
export {
|
|
111
|
-
WebSocketClient as default,
|
|
112
|
-
};
|
|
113
|
-
|
|
114
155
|
export {};
|