Passed
Push — master ( 1b1907...0e6aeb )
by Michael
01:30
created

dist/bundle.d.ts   A

Complexity

Total Complexity 7
Complexity/F 1

Size

Lines of Code 102
Function Count 7

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 7
eloc 85
mnd 0
bc 0
fnc 7
dl 0
loc 102
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0

7 Functions

Rating   Name   Duplication   Size   Complexity  
A WebSocketClient.ready 0 1 1
A WebSocketClient.off 0 1 1
A WebSocketClient.close 0 1 1
A WebSocketClient.on 0 1 1
A WebSocketClient.open 0 1 1
A WebSocketClient.send 0 5 1
A WebSocketClient.stream 0 1 1
1
// Generated by dts-bundle-generator v9.5.1
2
3
declare namespace wsc {
4
	interface DataObject {
5
		[key: string]: any;
6
	}
7
	type WSEvent = "open" | "message" | "close" | "error" | "timeout";
8
	/** Minimal socket-like interface. */
9
	interface Socket {
10
		readyState: number;
11
		send(...any: any[]): void;
12
		close(): void;
13
		addEventListener: WebSocket["addEventListener"];
14
		removeEventListener: WebSocket["removeEventListener"];
15
	}
16
	type AsyncErrCode = Promise<number | null | {}>;
17
	type EventHandler = (e: any) => void;
18
	type DataPipe = (message: any) => any;
19
	type DataType = "json" | "string";
20
	interface Config {
21
		data_type: DataType;
22
		log(event: string, time?: number | null, message?: any): void;
23
		log(event: string, message?: any): void;
24
		timer: boolean;
25
		url: string;
26
		timeout: number;
27
		reconnect: number;
28
		reconnection_attempts: number;
29
		max_idle_time: number;
30
		lazy: boolean;
31
		socket: Socket | null;
32
		adapter: (host: string, protocols?: string[]) => Socket;
33
		encode: (key: string, message: any, config: Config) => any;
34
		decode: (rawMessage: any) => {
35
			[id_or_data_key: string]: string;
36
		};
37
		protocols: string[];
38
		pipes: DataPipe[];
39
		server: {
40
			id_key: string;
41
			data_key: string;
42
		};
43
		ping: {
44
			interval: number;
45
			content: any;
46
		};
47
	}
48
	type UserConfig = Partial<Config>;
49
	type SendOptions = Partial<{
50
		top: any;
51
		data_type: DataType;
52
		_is_ping: boolean;
53
	}>;
54
	interface Message {
55
		msg: any;
56
		ff(x: any): any;
57
		data_type: DataType;
58
		sent_time: number | null;
59
	}
60
}
61
declare class WebSocketClient {
62
	private ws;
63
	private intentionally_closed;
64
	private reconnect_timeout;
65
	private queue;
66
	private onReadyQueue;
67
	private onCloseQueue;
68
	private handlers;
69
	private config;
70
	private ping_timer;
71
	private idle_timer;
72
	private get opened();
73
	private init_flush;
74
	private call;
75
	private log;
76
	private resetPing;
77
	private resetIdle;
78
	private initSocket;
79
	private opening;
80
	private connect;
81
	get socket(): wsc.Socket | null;
82
	ready(): Promise<void>;
83
	on(event_name: wsc.WSEvent, handler: (data: any) => any, predicate?: (data: any) => boolean, raw?: boolean): wsc.EventHandler;
84
	off(event_name: wsc.WSEvent, handler: (data: any) => any, raw?: boolean): void;
85
	close(): wsc.AsyncErrCode;
86
	open(): Promise<number | null> | undefined;
87
	private prepareMessage;
88
	/**  .send(your_data) wraps request to server with {id: `hash`, data: `actually your data`},
89
	  returns a Promise that will be rejected after a timeout or
90
	  resolved if server returns the same signature: {id: `same_hash`, data: `response data`}.
91
	*/
92
	send<RequestDataType = any, ResponseDataType = any>(message_data: RequestDataType, opts?: wsc.SendOptions): Promise<ResponseDataType>;
93
	stream<RequestDataType = any, ResponseDataType = any>(message_data: RequestDataType, opts?: wsc.SendOptions): AsyncGenerator<ResponseDataType, void, unknown>;
94
	constructor(user_config?: wsc.UserConfig);
95
}
96
97
export {
98
	WebSocketClient as default,
99
};
100
101
export {};
102