dev-classes 1.2.3 → 1.3.4
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/README.md +250 -0
- package/dist/classes/Color/Color.d.ts +28 -37
- package/dist/classes/Color/Color.js +167 -205
- package/dist/classes/Color/Color.types.d.ts +36 -0
- package/dist/classes/Color/Color.types.js +1 -0
- package/dist/classes/Color/index.d.ts +2 -0
- package/dist/classes/Color/index.js +4 -0
- package/dist/classes/DateProcessing/DateProcessing.d.ts +30 -78
- package/dist/classes/DateProcessing/DateProcessing.js +2 -1
- package/dist/classes/DateProcessing/DateProcessing.types.d.ts +50 -0
- package/dist/classes/DateProcessing/DateProcessing.types.js +5 -0
- package/dist/classes/DateProcessing/index.d.ts +2 -0
- package/dist/classes/DateProcessing/index.js +4 -0
- package/dist/classes/DelaysPromise/DelaysPromise.d.ts +8 -0
- package/dist/classes/DelaysPromise/DelaysPromise.js +69 -0
- package/dist/classes/DelaysPromise/DelaysPromise.types.d.ts +28 -0
- package/dist/classes/DelaysPromise/DelaysPromise.types.js +1 -0
- package/dist/classes/DelaysPromise/index.d.ts +2 -0
- package/dist/classes/DelaysPromise/index.js +4 -0
- package/dist/classes/File/File.d.ts +8 -0
- package/dist/classes/File/File.js +22 -0
- package/dist/classes/File/File.types.d.ts +7 -0
- package/dist/classes/File/File.types.js +1 -0
- package/dist/classes/File/index.d.ts +2 -0
- package/dist/classes/File/index.js +4 -0
- package/dist/classes/HTTPSApi/HTTPSApi.d.ts +14 -4
- package/dist/classes/HTTPSApi/HTTPSApi.js +61 -38
- package/dist/classes/HTTPSApi/HTTPSApi.types.d.ts +3 -0
- package/dist/classes/HTTPSApi/index.d.ts +2 -0
- package/dist/classes/HTTPSApi/index.js +4 -0
- package/dist/classes/Numbers/Numbers.d.ts +5 -3
- package/dist/classes/Numbers/Numbers.js +17 -20
- package/dist/classes/Numbers/Numbers.types.d.ts +5 -0
- package/dist/classes/Numbers/Numbers.types.js +1 -0
- package/dist/classes/Numbers/index.d.ts +2 -0
- package/dist/classes/Numbers/index.js +4 -0
- package/dist/classes/SocketApi/SocketApi.d.ts +25 -38
- package/dist/classes/SocketApi/SocketApi.js +112 -84
- package/dist/classes/SocketApi/SocketApi.types.d.ts +6 -0
- package/dist/classes/SocketApi/SocketApi.types.js +1 -0
- package/dist/classes/SocketApi/deps/WsApi/WsApi.d.ts +31 -26
- package/dist/classes/SocketApi/deps/WsApi/WsApi.js +91 -69
- package/dist/classes/SocketApi/deps/WsApi/WsApi.types.d.ts +7 -22
- package/dist/classes/SocketApi/deps/WsApi/index.d.ts +1 -1
- package/dist/classes/SocketApi/index.d.ts +2 -0
- package/dist/classes/SocketApi/index.js +4 -0
- package/dist/classes/Utils/EventSubscribers/EventSubscribers.d.ts +14 -0
- package/dist/classes/Utils/EventSubscribers/EventSubscribers.js +33 -0
- package/dist/classes/Utils/EventSubscribers/EventSubscribers.types.d.ts +9 -0
- package/dist/classes/Utils/EventSubscribers/EventSubscribers.types.js +1 -0
- package/dist/classes/Utils/EventSubscribers/index.d.ts +2 -0
- package/dist/classes/Utils/EventSubscribers/index.js +4 -0
- package/dist/classes/Utils/NetworkInformation/NetworkInformation.d.ts +9 -0
- package/dist/classes/Utils/NetworkInformation/NetworkInformation.js +24 -0
- package/dist/classes/Utils/NetworkInformation/classes/InternetWatchers.d.ts +6 -0
- package/dist/classes/Utils/NetworkInformation/classes/InternetWatchers.js +39 -0
- package/dist/classes/Utils/NetworkInformation/classes/NetworkInformationCordova.d.ts +11 -0
- package/dist/classes/Utils/NetworkInformation/classes/NetworkInformationCordova.js +26 -0
- package/dist/classes/Utils/NetworkInformation/classes/NetworkInformationPC.d.ts +11 -0
- package/dist/classes/Utils/NetworkInformation/classes/NetworkInformationPC.js +22 -0
- package/dist/classes/Utils/NetworkInformation/classes/index.d.ts +2 -0
- package/dist/classes/Utils/NetworkInformation/classes/index.js +6 -0
- package/dist/classes/Utils/NetworkInformation/classes/types/types.abscruct.d.ts +10 -0
- package/dist/classes/Utils/NetworkInformation/classes/types/types.abscruct.js +5 -0
- package/dist/classes/Utils/NetworkInformation/index.d.ts +4 -0
- package/dist/classes/Utils/NetworkInformation/index.js +10 -0
- package/dist/classes/Utils/Utils.d.ts +4 -4
- package/dist/classes/Utils/Utils.js +34 -39
- package/dist/classes/Utils/Utils.types.d.ts +17 -0
- package/dist/classes/Utils/Utils.types.js +1 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.js +26 -20
- package/package.json +16 -2
- package/dist/classes/Delay/Delay.d.ts +0 -26
- package/dist/classes/Delay/Delay.js +0 -66
- package/dist/classes/DownloadFile/DownloadFile.d.ts +0 -8
- package/dist/classes/DownloadFile/DownloadFile.js +0 -23
- package/dist/classes/ProcessingWS/ProcessingWS.d.ts +0 -11
- package/dist/classes/ProcessingWS/ProcessingWS.js +0 -20
- package/dist/classes/SocketApi/deps/InternetWatcher/InternetWatcher.d.ts +0 -8
- package/dist/classes/SocketApi/deps/InternetWatcher/InternetWatcher.js +0 -24
|
@@ -1,107 +1,135 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
var w = Object.defineProperty;
|
|
2
|
+
var C = (i, e, s) => e in i ? w(i, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : i[e] = s;
|
|
3
|
+
var n = (i, e, s) => (C(i, typeof e != "symbol" ? e + "" : e, s), s);
|
|
4
|
+
var f = (i, e, s) => {
|
|
5
|
+
if (e.has(i))
|
|
6
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
7
|
+
e instanceof WeakSet ? e.add(i) : e.set(i, s);
|
|
8
|
+
};
|
|
9
|
+
import { DelaysPromise as R } from "../DelaysPromise/DelaysPromise.js";
|
|
10
|
+
import { NetworkInformationCordova as d } from "../Utils/NetworkInformation/classes/NetworkInformationCordova.js";
|
|
11
|
+
import { NetworkInformationPC as v } from "../Utils/NetworkInformation/classes/NetworkInformationPC.js";
|
|
12
|
+
import { EventSubscribers as g } from "../Utils/EventSubscribers/EventSubscribers.js";
|
|
13
|
+
import { NetworkInformation as O } from "../Utils/NetworkInformation/NetworkInformation.js";
|
|
14
|
+
import { WsApi as S } from "./deps/WsApi/WsApi.js";
|
|
15
|
+
const I = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
16
|
+
function m(i) {
|
|
17
|
+
return I.test(i);
|
|
8
18
|
}
|
|
9
|
-
function
|
|
10
|
-
var
|
|
11
|
-
return URL.revokeObjectURL(
|
|
19
|
+
function u() {
|
|
20
|
+
var i = URL.createObjectURL(new Blob()), e = i.toString();
|
|
21
|
+
return URL.revokeObjectURL(i), e.split(/[:\/]/g).pop().toLowerCase();
|
|
12
22
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
u.valid = m;
|
|
24
|
+
var r, A;
|
|
25
|
+
const t = class t {
|
|
26
|
+
static copyState(e) {
|
|
27
|
+
return JSON.parse(JSON.stringify(e));
|
|
16
28
|
}
|
|
17
|
-
|
|
29
|
+
static setState(e) {
|
|
30
|
+
t.state = { ...t.state, ...e };
|
|
18
31
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
static resetState() {
|
|
33
|
+
t.state = t.copyState(t.stateDefault);
|
|
34
|
+
}
|
|
35
|
+
static setOptions(e) {
|
|
36
|
+
t.options = { ...t.options, ...e };
|
|
23
37
|
}
|
|
24
|
-
static
|
|
25
|
-
t.
|
|
38
|
+
static setStatusReConnect(e) {
|
|
39
|
+
t.setState({ isActiveReConnect: e }), t.events.publish("reConnect", e);
|
|
26
40
|
}
|
|
27
|
-
static
|
|
28
|
-
t.
|
|
41
|
+
static connect() {
|
|
42
|
+
t.wsApi.getIsInitWS() && (console.log("CONNECT WS"), t.setState({ isDisconnect: !1 }), t.wsApi.connect());
|
|
29
43
|
}
|
|
30
44
|
static disconnect() {
|
|
31
|
-
t.state.isDisconnect || (t.
|
|
45
|
+
t.state.isDisconnect || (t.setState({ isDisconnect: !0 }), console.log("DISCONNECT WS"), t.wsApi.disconnect(), t.resetState());
|
|
32
46
|
}
|
|
33
47
|
static send(e, s) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
payload: { action: r, ...w },
|
|
48
|
+
const { action: o, ...c } = e, a = u();
|
|
49
|
+
t.wsApi.setRequestSave({
|
|
50
|
+
reqId: a,
|
|
51
|
+
payload: { action: o, ...c },
|
|
39
52
|
cb: s
|
|
40
|
-
})
|
|
53
|
+
});
|
|
54
|
+
const l = t.wsApi.getSocket();
|
|
55
|
+
if (!l || l.readyState !== 1) {
|
|
41
56
|
console.log("Нет подключения к сокету");
|
|
42
57
|
return;
|
|
43
58
|
}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
static connect() {
|
|
47
|
-
t.createConnect();
|
|
59
|
+
t.wsApi.send(JSON.stringify(e));
|
|
48
60
|
}
|
|
49
|
-
static stopReConnect() {
|
|
61
|
+
static stopReConnect(e) {
|
|
50
62
|
console.dir("функция stop не присвоена к stopReConnect");
|
|
51
63
|
}
|
|
52
|
-
static resetState() {
|
|
53
|
-
t.state = t.copyState(t.stateDefault);
|
|
54
|
-
}
|
|
55
|
-
static getTimeRequest() {
|
|
56
|
-
}
|
|
57
|
-
/*------------------------------------------------------------------------------------------------------*/
|
|
58
|
-
static watchReConnect(e) {
|
|
59
|
-
t.watch.watchReConnect = e;
|
|
60
|
-
}
|
|
61
|
-
static watchTimeOffReConnect(e) {
|
|
62
|
-
t.watch.watchTimeOffReConnect = e;
|
|
63
|
-
}
|
|
64
|
-
/*------------------------------------------------------------------------------------------------------*/
|
|
65
|
-
static copyState(e) {
|
|
66
|
-
return JSON.parse(JSON.stringify(e));
|
|
67
|
-
}
|
|
68
|
-
static resetSocket() {
|
|
69
|
-
var e;
|
|
70
|
-
(e = t.wsApi.state.ws) == null || e.close(), t.wsApi.removeEvents();
|
|
71
|
-
}
|
|
72
|
-
static createConnect() {
|
|
73
|
-
console.log("CONNECT WS"), t.resetSocket(), t.state.isDisconnect = !1, t.wsApi.state.ws = new WebSocket(t.wsApi.configWs.url), t.wsApi.setStatus("pending"), t.wsApi.addEvents();
|
|
74
|
-
}
|
|
75
64
|
};
|
|
76
|
-
|
|
65
|
+
r = new WeakSet(), A = function() {
|
|
66
|
+
}, f(t, r), n(t, "state", {
|
|
77
67
|
isDisconnect: !0,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
isActiveReConnect: !1,
|
|
69
|
+
isOfflineSocket: !0,
|
|
70
|
+
isReady: !1,
|
|
71
|
+
isNetworkStatus: navigator.onLine
|
|
72
|
+
}), n(t, "options", {
|
|
73
|
+
isReConnectNetworkOnline: !1
|
|
74
|
+
}), n(t, "wsApi", new S()), n(t, "delay", new R()), n(t, "internet", new O([new v(), new d()])), n(t, "events", new g(["timeOffReConnect", "reConnect"])), n(t, "saveID", {
|
|
75
|
+
idReConnect: null,
|
|
82
76
|
checkConnect: null
|
|
83
|
-
}),
|
|
84
|
-
|
|
85
|
-
}),
|
|
86
|
-
t.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
77
|
+
}), n(t, "stateDefault", t.copyState(t.state)), n(t, "setInfoConnect", (e) => {
|
|
78
|
+
e.status || t.close(), t.setState({ isOfflineSocket: !e.status }), t.events.publish("timeOffReConnect", e), t.setStatusReConnect(!1);
|
|
79
|
+
}), n(t, "online", () => {
|
|
80
|
+
t.setState({ isNetworkStatus: !0 }), !t.state.isActiveReConnect && t.options.isReConnectNetworkOnline && t.socketReConnect();
|
|
81
|
+
}), n(t, "offline", () => {
|
|
82
|
+
t.setState({ isNetworkStatus: !1 }), t.state.isActiveReConnect && t.stopReConnect(!1);
|
|
83
|
+
}), n(t, "splitOptions", (e) => Object.entries(e).reduce(
|
|
84
|
+
(s, [o, c]) => {
|
|
85
|
+
const a = t.wsApi.getOptions();
|
|
86
|
+
return o in a ? { ...s, WsOptions: { ...s.WsOptions, [o]: c } } : { ...s, SocketApiOptions: { ...s.SocketApiOptions, [o]: c } };
|
|
87
|
+
},
|
|
88
|
+
{ WsOptions: {}, SocketApiOptions: {} }
|
|
89
|
+
)), /*---------------------------------------------------------------------------------------------------------------------------*/
|
|
90
|
+
n(t, "getState", () => t.state), n(t, "on", (e, s) => {
|
|
91
|
+
t.wsApi.getRegisteredEvents().includes(e) ? t.wsApi.on(e, s) : t.events.subscribe(e, s);
|
|
92
|
+
}), n(t, "off", (e, s) => {
|
|
93
|
+
t.wsApi.getRegisteredEvents().includes(e) ? t.wsApi.off(e, s) : t.events.unsubscribe(e, s);
|
|
94
|
+
}), // static getRequestSave = SocketApi.wsApi.getRequestSave;
|
|
95
|
+
n(t, "getStatusSocket", t.wsApi.getStatusSocket), n(t, "close", () => {
|
|
96
|
+
t.state.isActiveReConnect ? t.stopReConnect(!1) : t.wsApi.close();
|
|
97
|
+
}), n(t, "init", (e) => {
|
|
98
|
+
const { WsOptions: s, SocketApiOptions: o } = t.splitOptions(e);
|
|
99
|
+
t.internet.run((c) => {
|
|
100
|
+
c ? t.online() : t.offline();
|
|
101
|
+
}), t.setOptions(o), t.wsApi.init(s);
|
|
102
|
+
}), /*------------------------------------------------------------------------------------------------------*/
|
|
103
|
+
// useEffect(() => {
|
|
104
|
+
// if((isReConnectSocket && (!isNetworkStatus || statusWS === 'ready'))){
|
|
105
|
+
// SocketApi.stopReConnect();
|
|
106
|
+
// }
|
|
107
|
+
// },[isReConnectSocket, isNetworkStatus, statusWS]);
|
|
108
|
+
n(t, "socketReConnect", () => {
|
|
109
|
+
if (t.wsApi.getIsInitWS())
|
|
110
|
+
if (console.log("reconnect"), t.saveID.idReConnect)
|
|
111
|
+
console.groupCollapsed("Процесс socketReConnect уже запущен"), console.log("SocketApi.saveID: ", t.saveID), console.groupEnd();
|
|
112
|
+
else {
|
|
113
|
+
t.setStatusReConnect(!0);
|
|
114
|
+
const { timeReConnect: e, numberOfRepit: s } = t.wsApi.getOptions();
|
|
115
|
+
t.delay.startActionEvery(
|
|
116
|
+
() => (console.log("reconnect:>>delay"), t.wsApi.getStatusSocket() === "ready" ? (console.dir("Подключение установлено"), !0) : !1),
|
|
117
|
+
{
|
|
118
|
+
interval: e,
|
|
119
|
+
countAction: s,
|
|
120
|
+
watchIdInterval: (o) => {
|
|
121
|
+
t.saveID.idReConnect = o;
|
|
122
|
+
},
|
|
123
|
+
controlAction: ({ stop: o, getIsActiveEvent: c }) => {
|
|
124
|
+
t.stopReConnect = (a) => {
|
|
125
|
+
o(a);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
).then(t.setInfoConnect).catch(t.setInfoConnect);
|
|
99
130
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
e.status || t.close(), t.watch.watchTimeOffReConnect(e), t.watch.watchReConnect(!1), t.state.isReConnect = !1;
|
|
103
|
-
}), c(t, "getStatus", () => t.wsApi.getStatus());
|
|
104
|
-
let o = t;
|
|
131
|
+
});
|
|
132
|
+
let p = t;
|
|
105
133
|
export {
|
|
106
|
-
|
|
134
|
+
p as SocketApi
|
|
107
135
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface SocketApi_Options_P {
|
|
2
|
+
isReConnectNetworkOnline?: boolean;
|
|
3
|
+
}
|
|
4
|
+
type SocketApi_State_OR = 'isDisconnect' | 'isActiveReConnect' | 'isOfflineSocket' | 'isReady' | 'isNetworkStatus';
|
|
5
|
+
export type SocketApi_State_P = Record<SocketApi_State_OR, boolean>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -1,28 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InternetWatcher } from '../InternetWatcher/InternetWatcher';
|
|
3
|
-
import { DelaysPromise } from '../../../Delay/Delay';
|
|
1
|
+
import { WsApi_Events, WsApi_Options_P, WsApiE_StatusConnect_OR } from './WsApi.types';
|
|
4
2
|
|
|
5
|
-
export declare class WsApi
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
export declare class WsApi {
|
|
4
|
+
private options;
|
|
5
|
+
private state;
|
|
6
|
+
private initOptions;
|
|
7
|
+
private events;
|
|
9
8
|
private stateDefault;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
off<K extends EventNames_OR>(eventName: K, cb: GetCbByKeyNameEvent<K>): void;
|
|
18
|
-
msgHandler: (e: any) => void;
|
|
19
|
-
errHandler: (err: any) => void;
|
|
9
|
+
private resetState;
|
|
10
|
+
private setState;
|
|
11
|
+
private eventListener;
|
|
12
|
+
private openHandler;
|
|
13
|
+
private closeHandler;
|
|
14
|
+
private msgHandler;
|
|
15
|
+
private errHandler;
|
|
20
16
|
private copyState;
|
|
21
|
-
|
|
22
|
-
private
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
private setResponceInReqSave;
|
|
18
|
+
private removeRequestItemSave;
|
|
19
|
+
private errorInitSocket;
|
|
20
|
+
getRegisteredEvents: () => string[];
|
|
21
|
+
send(data: any): void;
|
|
22
|
+
getIsInitWS: () => boolean;
|
|
23
|
+
getSocket: () => WebSocket | null;
|
|
24
|
+
getOptions: () => WsApi_Options_P;
|
|
25
|
+
init: (options: typeof this.options) => void;
|
|
26
|
+
getStatusSocket: () => WsApiE_StatusConnect_OR;
|
|
27
|
+
private setStatus;
|
|
28
|
+
on: <K extends keyof WsApi_Events>(name: K, cb: WsApi_Events[K]) => void;
|
|
29
|
+
off: <K extends keyof WsApi_Events>(name: K, cb: WsApi_Events[K]) => void;
|
|
30
|
+
setRequestSave(reqInfo: (typeof this.state.arrSaveReq)[number]): void;
|
|
31
|
+
getRequestSave: () => {
|
|
26
32
|
payload: {
|
|
27
33
|
[key: string]: any;
|
|
28
34
|
action: string;
|
|
@@ -30,8 +36,7 @@ export declare class WsApi extends DelaysPromise {
|
|
|
30
36
|
reqId: string;
|
|
31
37
|
cb: any;
|
|
32
38
|
}[];
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}): void;
|
|
39
|
+
connect(): void;
|
|
40
|
+
close(): void;
|
|
41
|
+
disconnect(): void;
|
|
37
42
|
}
|
|
@@ -1,101 +1,123 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
class p extends l {
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var S = (r, t, e) => t in r ? c(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
3
|
+
var s = (r, t, e) => (S(r, typeof t != "symbol" ? t + "" : t, e), e);
|
|
4
|
+
import { EventSubscribers as l } from "../../../Utils/EventSubscribers/EventSubscribers.js";
|
|
5
|
+
class u {
|
|
7
6
|
constructor() {
|
|
8
|
-
|
|
9
|
-
r(this, "configWs", {
|
|
7
|
+
s(this, "options", {
|
|
10
8
|
timeReConnect: 5e3,
|
|
11
9
|
numberOfRepit: 5,
|
|
12
10
|
url: ""
|
|
13
11
|
});
|
|
14
|
-
|
|
15
|
-
r(this, "state", {
|
|
12
|
+
s(this, "state", {
|
|
16
13
|
statusConnect: "disconnect",
|
|
17
14
|
ws: null,
|
|
18
|
-
arrSaveReq: []
|
|
19
|
-
subscribersEvents: {
|
|
20
|
-
msg: [],
|
|
21
|
-
status: []
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
r(this, "stateDefault", this.copyState(this.state));
|
|
25
|
-
r(this, "getStatus", () => this.state.statusConnect);
|
|
26
|
-
r(this, "setStatus", (e) => {
|
|
27
|
-
this.sendInformationToTheEvent("status", e), this.state.statusConnect = e;
|
|
15
|
+
arrSaveReq: []
|
|
28
16
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
s(this, "initOptions", !1);
|
|
18
|
+
s(this, "events", new l(["status", "msg"]));
|
|
19
|
+
s(this, "stateDefault", this.copyState(this.state));
|
|
20
|
+
s(this, "eventListener", (t) => {
|
|
21
|
+
var i, a;
|
|
22
|
+
const e = [
|
|
23
|
+
["open", this.openHandler],
|
|
24
|
+
["close", this.closeHandler],
|
|
25
|
+
["message", this.msgHandler],
|
|
26
|
+
["error", this.errHandler]
|
|
27
|
+
];
|
|
28
|
+
for (let n = 0; n < e.length; n++) {
|
|
29
|
+
const [o, h] = e[n];
|
|
30
|
+
t === "add" ? (i = this.state.ws) == null || i.addEventListener(o, h) : (a = this.state.ws) == null || a.removeEventListener(o, h);
|
|
31
|
+
}
|
|
36
32
|
});
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
s(this, "openHandler", () => {
|
|
34
|
+
this.setStatus("ready");
|
|
39
35
|
});
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
s(this, "closeHandler", () => {
|
|
37
|
+
this.setStatus("close");
|
|
42
38
|
});
|
|
43
|
-
|
|
44
|
-
const
|
|
39
|
+
s(this, "msgHandler", (t) => {
|
|
40
|
+
const e = JSON.parse(t.data ? t.data : "{}");
|
|
45
41
|
try {
|
|
46
|
-
const { action:
|
|
47
|
-
|
|
42
|
+
const { action: i } = e;
|
|
43
|
+
i && this.setResponceInReqSave(e), this.events.publish("msg", e);
|
|
48
44
|
} catch {
|
|
49
|
-
this.
|
|
45
|
+
this.events.publish("msg", JSON.parse("{}"));
|
|
50
46
|
}
|
|
51
47
|
});
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
s(this, "errHandler", (t) => {
|
|
49
|
+
this.setStatus("error");
|
|
54
50
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(s = this.state.subscribersEvents[e]) == null || s.forEach((a) => a(t));
|
|
51
|
+
s(this, "errorInitSocket", () => {
|
|
52
|
+
console.error("Вы не установили опции");
|
|
58
53
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
/*----------------------------------------------------------------------------------------------------------*/
|
|
55
|
+
s(this, "getRegisteredEvents", () => this.events.getListNameEvents());
|
|
56
|
+
s(this, "getIsInitWS", () => {
|
|
57
|
+
const t = this.initOptions;
|
|
58
|
+
return t || this.errorInitSocket(), t;
|
|
59
|
+
});
|
|
60
|
+
s(this, "getSocket", () => this.state.ws);
|
|
61
|
+
s(this, "getOptions", () => this.options);
|
|
62
|
+
s(this, "init", (t) => {
|
|
63
|
+
this.initOptions = !0, this.options = { ...this.options, ...t };
|
|
64
|
+
});
|
|
65
|
+
s(this, "getStatusSocket", () => this.state.statusConnect);
|
|
66
|
+
s(this, "setStatus", (t) => {
|
|
67
|
+
this.events.publish("status", t), this.setState({ statusConnect: t });
|
|
68
|
+
});
|
|
69
|
+
s(this, "on", this.events.subscribe);
|
|
70
|
+
s(this, "off", this.events.unsubscribe);
|
|
71
|
+
s(this, "getRequestSave", () => this.state.arrSaveReq);
|
|
70
72
|
}
|
|
71
73
|
resetState() {
|
|
72
74
|
this.state = this.copyState(this.stateDefault);
|
|
73
75
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
setState(t) {
|
|
77
|
+
this.state = { ...this.state, ...t };
|
|
78
|
+
}
|
|
79
|
+
copyState(t) {
|
|
80
|
+
return JSON.parse(JSON.stringify(t));
|
|
81
|
+
}
|
|
82
|
+
setResponceInReqSave(t) {
|
|
83
|
+
const e = this.getRequestSave(), i = [];
|
|
84
|
+
for (let a = 0; a < e.length; a++) {
|
|
85
|
+
const n = e[a];
|
|
86
|
+
n.payload.action !== t.action ? i.push(n) : n.cb && n.cb(t);
|
|
78
87
|
}
|
|
88
|
+
this.state.arrSaveReq = i;
|
|
79
89
|
}
|
|
80
|
-
removeRequestItemSave(
|
|
81
|
-
const
|
|
90
|
+
removeRequestItemSave(t) {
|
|
91
|
+
const e = this.state.arrSaveReq.filter((i) => {
|
|
82
92
|
var a;
|
|
83
|
-
return ((a =
|
|
93
|
+
return ((a = i.payload) == null ? void 0 : a.action) !== t;
|
|
84
94
|
});
|
|
85
|
-
this.state.arrSaveReq =
|
|
95
|
+
this.state.arrSaveReq = e;
|
|
86
96
|
}
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
send(t) {
|
|
98
|
+
var i;
|
|
99
|
+
const e = JSON.stringify(t);
|
|
100
|
+
(i = this.state.ws) == null || i.send(e);
|
|
89
101
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
o.payload.action !== e.action ? s.push(o) : o.cb && o.cb(e);
|
|
102
|
+
setRequestSave(t) {
|
|
103
|
+
if ("action" in t.payload) {
|
|
104
|
+
const e = this.state.arrSaveReq.findIndex((i) => i.payload.action === t.payload.action);
|
|
105
|
+
~e ? this.state.arrSaveReq[e] = t : this.state.arrSaveReq.push(t);
|
|
95
106
|
}
|
|
96
|
-
|
|
107
|
+
}
|
|
108
|
+
connect() {
|
|
109
|
+
this.initOptions && (this.close(), this.setState({
|
|
110
|
+
ws: new WebSocket(this.options.url)
|
|
111
|
+
}), this.setStatus("pending"), this.eventListener("add"));
|
|
112
|
+
}
|
|
113
|
+
close() {
|
|
114
|
+
var t;
|
|
115
|
+
(t = this.state.ws) == null || t.close(), this.eventListener("remove");
|
|
116
|
+
}
|
|
117
|
+
disconnect() {
|
|
118
|
+
this.close(), this.resetState();
|
|
97
119
|
}
|
|
98
120
|
}
|
|
99
121
|
export {
|
|
100
|
-
|
|
122
|
+
u as WsApi
|
|
101
123
|
};
|
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface WsApi_Options_P {
|
|
2
2
|
url: string;
|
|
3
3
|
timeReConnect: number;
|
|
4
4
|
numberOfRepit?: number;
|
|
5
5
|
}
|
|
6
|
-
export type
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
cb(status: StatusConnect_OR): void;
|
|
6
|
+
export type WsApiE_StatusConnect_OR = "pending" | "ready" | "error" | "close" | "disconnect";
|
|
7
|
+
export interface WsApi_Events {
|
|
8
|
+
status: (status: WsApiE_StatusConnect_OR) => void;
|
|
9
|
+
msg: (message: any) => void;
|
|
11
10
|
}
|
|
12
|
-
interface
|
|
13
|
-
|
|
14
|
-
cb(payload: any): void;
|
|
15
|
-
}
|
|
16
|
-
interface EventsInfoByName_P {
|
|
17
|
-
status: EventByStatus;
|
|
18
|
-
msg: EventByMSG;
|
|
19
|
-
}
|
|
20
|
-
export type GetCbByKeyNameEvent<K extends EventNames_OR> = EventsInfoByName_P[K]['cb'];
|
|
21
|
-
export type SubscribersEvents_P = Record<EventNames_OR, any[]>;
|
|
22
|
-
export interface WsApiStateDefaultI {
|
|
23
|
-
statusConnect: StatusConnect_OR;
|
|
11
|
+
export interface WsApi_StateProps {
|
|
12
|
+
statusConnect: WsApiE_StatusConnect_OR;
|
|
24
13
|
ws: null | WebSocket;
|
|
25
|
-
}
|
|
26
|
-
export interface WsApiStateSaveDefaultI {
|
|
27
14
|
arrSaveReq: {
|
|
28
15
|
payload: {
|
|
29
16
|
action: string;
|
|
@@ -32,6 +19,4 @@ export interface WsApiStateSaveDefaultI {
|
|
|
32
19
|
reqId: string;
|
|
33
20
|
cb: any;
|
|
34
21
|
}[];
|
|
35
|
-
subscribersEvents: SubscribersEvents_P;
|
|
36
22
|
}
|
|
37
|
-
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './WsApi';
|
|
2
|
-
export
|
|
2
|
+
export type { WsApiE_StatusConnect_OR, WsApi_Options_P, } from './WsApi.types';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventSubscribersProps } from './EventSubscribers.types';
|
|
2
|
+
|
|
3
|
+
export declare class EventSubscribers<EventsProps extends {
|
|
4
|
+
[K in keyof EventsProps]: (...args: any[]) => any;
|
|
5
|
+
}> {
|
|
6
|
+
private subscribersEvents;
|
|
7
|
+
constructor(eventsRegister: (keyof EventsProps)[]);
|
|
8
|
+
getListNameEvents: () => string[];
|
|
9
|
+
getSubscribers: () => { [K in keyof EventsProps]?: EventsProps[K][] | undefined; };
|
|
10
|
+
subscribe: EventSubscribersProps<EventsProps>['subscribe'];
|
|
11
|
+
unsubscribe: EventSubscribersProps<EventsProps>['unsubscribe'];
|
|
12
|
+
publish: EventSubscribersProps<EventsProps>['publish'];
|
|
13
|
+
resetSubscribers: EventSubscribersProps<EventsProps>['resetSubscribers'];
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var u = (t, s, r) => s in t ? c(t, s, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[s] = r;
|
|
3
|
+
var b = (t, s, r) => (u(t, typeof s != "symbol" ? s + "" : s, r), r);
|
|
4
|
+
class h {
|
|
5
|
+
constructor(s) {
|
|
6
|
+
b(this, "subscribersEvents", {});
|
|
7
|
+
b(this, "getListNameEvents", () => Object.keys(this.subscribersEvents));
|
|
8
|
+
b(this, "getSubscribers", () => this.subscribersEvents);
|
|
9
|
+
b(this, "subscribe", (s, r) => {
|
|
10
|
+
var e;
|
|
11
|
+
(e = this.subscribersEvents[s]) == null || e.push(r);
|
|
12
|
+
});
|
|
13
|
+
b(this, "unsubscribe", (s, r) => {
|
|
14
|
+
var e;
|
|
15
|
+
this.subscribersEvents[s] && (this.subscribersEvents[s] = (e = this.subscribersEvents[s]) == null ? void 0 : e.filter((i) => i !== r));
|
|
16
|
+
});
|
|
17
|
+
b(this, "publish", (s, r) => {
|
|
18
|
+
var e;
|
|
19
|
+
this.subscribersEvents[s] && ((e = this.subscribersEvents[s]) == null || e.forEach((i) => {
|
|
20
|
+
i(r);
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
b(this, "resetSubscribers", () => {
|
|
24
|
+
this.subscribersEvents = {};
|
|
25
|
+
});
|
|
26
|
+
s.forEach((r) => {
|
|
27
|
+
this.subscribersEvents[r] = [];
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
h as EventSubscribers
|
|
33
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface EventSubscribersProps<EventsProps> {
|
|
2
|
+
getSubscribers: () => {
|
|
3
|
+
[K in keyof EventsProps]?: EventsProps[K][];
|
|
4
|
+
};
|
|
5
|
+
subscribe: <K extends keyof EventsProps>(name: K, cb: EventsProps[K]) => void;
|
|
6
|
+
unsubscribe: <K extends keyof EventsProps>(name: K, cb: EventsProps[K]) => void;
|
|
7
|
+
publish: <K extends keyof EventsProps>(name: K, data: EventsProps[K] extends (...args: any[]) => any ? Parameters<EventsProps[K]>[0] : any) => void;
|
|
8
|
+
resetSubscribers: () => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NetworkInformationAbstract, WatcherCB } from './classes/types/types.abscruct';
|
|
2
|
+
|
|
3
|
+
export declare class NetworkInformation {
|
|
4
|
+
private listNetworkInformation;
|
|
5
|
+
constructor(listNetworkInformation: NetworkInformationAbstract[]);
|
|
6
|
+
private getSystem;
|
|
7
|
+
run(watcher: WatcherCB): void;
|
|
8
|
+
stop(): void;
|
|
9
|
+
}
|