@qoretechnologies/reqraft 0.3.4 → 0.4.0
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/chromatic.config.json +5 -0
- package/dist/hooks/useWebSocket/useWebSocket.d.ts +27 -0
- package/dist/hooks/useWebSocket/useWebSocket.d.ts.map +1 -0
- package/dist/hooks/useWebSocket/useWebSocket.js +129 -0
- package/dist/hooks/useWebSocket/useWebSocket.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/websocket.d.ts +51 -0
- package/dist/utils/websocket.d.ts.map +1 -0
- package/dist/utils/websocket.js +264 -0
- package/dist/utils/websocket.js.map +1 -0
- package/package.json +16 -15
- package/src/hooks/useFetch/useFetch.stories.tsx +8 -11
- package/src/hooks/useWebSocket/useWebSocket.ts +146 -0
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +481 -0
- package/src/index.tsx +2 -0
- package/src/utils/websocket.ts +258 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IReqraftWebSocketConfig, ReqraftWebSocket } from '../../utils/websocket';
|
|
2
|
+
export interface IUseReqraftWebSocketOptions extends IReqraftWebSocketConfig {
|
|
3
|
+
onMessage?: (ev: MessageEvent) => void;
|
|
4
|
+
useState?: boolean;
|
|
5
|
+
includeSentMessagesInState?: boolean;
|
|
6
|
+
includeLogMessagesInState?: boolean;
|
|
7
|
+
openOnMount?: boolean;
|
|
8
|
+
closeOnUnmount?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface IUseReqraftWebSocket {
|
|
11
|
+
messages: string[];
|
|
12
|
+
status: keyof typeof ReqraftWebSocketStatus;
|
|
13
|
+
open: () => void;
|
|
14
|
+
close: () => void;
|
|
15
|
+
socket: ReqraftWebSocket;
|
|
16
|
+
send: (data: string) => void;
|
|
17
|
+
clear: () => void;
|
|
18
|
+
on: (type: keyof WebSocketEventMap, handler: (ev: Event) => void) => void;
|
|
19
|
+
addMessage: (message: string) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare enum ReqraftWebSocketStatus {
|
|
22
|
+
OPEN = "OPEN",
|
|
23
|
+
CLOSED = "CLOSED",
|
|
24
|
+
CONNECTING = "CONNECTING"
|
|
25
|
+
}
|
|
26
|
+
export declare const useReqraftWebSocket: (options: IUseReqraftWebSocketOptions) => IUseReqraftWebSocket;
|
|
27
|
+
//# sourceMappingURL=useWebSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebSocket.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWebSocket/useWebSocket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAElF,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,OAAO,sBAAsB,CAAC;IAC5C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;IAC1E,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,oBAAY,sBAAsB;IAChC,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,mBAAmB,YAAa,2BAA2B,KAAG,oBAkH1E,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.useReqraftWebSocket = exports.ReqraftWebSocketStatus = void 0;
|
|
24
|
+
var react_1 = require("react");
|
|
25
|
+
var react_use_1 = require("react-use");
|
|
26
|
+
var websocket_1 = require("../../utils/websocket");
|
|
27
|
+
var ReqraftWebSocketStatus;
|
|
28
|
+
(function (ReqraftWebSocketStatus) {
|
|
29
|
+
ReqraftWebSocketStatus["OPEN"] = "OPEN";
|
|
30
|
+
ReqraftWebSocketStatus["CLOSED"] = "CLOSED";
|
|
31
|
+
ReqraftWebSocketStatus["CONNECTING"] = "CONNECTING";
|
|
32
|
+
})(ReqraftWebSocketStatus || (exports.ReqraftWebSocketStatus = ReqraftWebSocketStatus = {}));
|
|
33
|
+
var useReqraftWebSocket = function (options) {
|
|
34
|
+
var _a = (0, react_1.useState)([]), messages = _a[0], setMessages = _a[1];
|
|
35
|
+
var _b = (0, react_1.useState)('CLOSED'), status = _b[0], setStatus = _b[1];
|
|
36
|
+
var _c = (0, react_1.useState)(undefined), socket = _c[0], setSocket = _c[1];
|
|
37
|
+
var updateStates = function (status, log) {
|
|
38
|
+
setStatus(status);
|
|
39
|
+
if (log && (options === null || options === void 0 ? void 0 : options.includeLogMessagesInState) && (options === null || options === void 0 ? void 0 : options.useState)) {
|
|
40
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [log], false); });
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var handleOpen = function (ev) {
|
|
44
|
+
var _a;
|
|
45
|
+
updateStates(ReqraftWebSocketStatus.OPEN, 'Connection opened');
|
|
46
|
+
(_a = options === null || options === void 0 ? void 0 : options.onOpen) === null || _a === void 0 ? void 0 : _a.call(options, ev);
|
|
47
|
+
};
|
|
48
|
+
var open = function () {
|
|
49
|
+
var socket = new websocket_1.ReqraftWebSocket(__assign(__assign({}, options), { onOpen: handleOpen, onMessage: function (ev) {
|
|
50
|
+
var _a;
|
|
51
|
+
if (options === null || options === void 0 ? void 0 : options.useState) {
|
|
52
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [ev.data], false); });
|
|
53
|
+
}
|
|
54
|
+
(_a = options === null || options === void 0 ? void 0 : options.onMessage) === null || _a === void 0 ? void 0 : _a.call(options, ev);
|
|
55
|
+
}, onClose: function () {
|
|
56
|
+
var _a;
|
|
57
|
+
var args = [];
|
|
58
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
59
|
+
args[_i] = arguments[_i];
|
|
60
|
+
}
|
|
61
|
+
updateStates(ReqraftWebSocketStatus.CLOSED, 'Connection closed');
|
|
62
|
+
(_a = options === null || options === void 0 ? void 0 : options.onClose) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([options], args, false));
|
|
63
|
+
}, onError: function () {
|
|
64
|
+
var _a;
|
|
65
|
+
var args = [];
|
|
66
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
67
|
+
args[_i] = arguments[_i];
|
|
68
|
+
}
|
|
69
|
+
updateStates(ReqraftWebSocketStatus.CLOSED, 'Connection error');
|
|
70
|
+
(_a = options === null || options === void 0 ? void 0 : options.onError) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([options], args, false));
|
|
71
|
+
}, onReconnecting: function (reconnectNumber) {
|
|
72
|
+
var _a;
|
|
73
|
+
updateStates(ReqraftWebSocketStatus.CONNECTING, "Reconnecting... Attempt ".concat(reconnectNumber));
|
|
74
|
+
(_a = options === null || options === void 0 ? void 0 : options.onReconnecting) === null || _a === void 0 ? void 0 : _a.call(options, reconnectNumber);
|
|
75
|
+
}, onReconnectFailed: function () {
|
|
76
|
+
var _a;
|
|
77
|
+
updateStates(ReqraftWebSocketStatus.CLOSED, 'Reconnect failed');
|
|
78
|
+
(_a = options === null || options === void 0 ? void 0 : options.onReconnectFailed) === null || _a === void 0 ? void 0 : _a.call(options);
|
|
79
|
+
} }));
|
|
80
|
+
setSocket(socket);
|
|
81
|
+
};
|
|
82
|
+
var close = function () {
|
|
83
|
+
socket === null || socket === void 0 ? void 0 : socket.remove();
|
|
84
|
+
setSocket(undefined);
|
|
85
|
+
setStatus(ReqraftWebSocketStatus.CLOSED);
|
|
86
|
+
};
|
|
87
|
+
var send = function (data) {
|
|
88
|
+
socket === null || socket === void 0 ? void 0 : socket.send(data);
|
|
89
|
+
if (options === null || options === void 0 ? void 0 : options.includeSentMessagesInState) {
|
|
90
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [data], false); });
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var on = function (type, handler) {
|
|
94
|
+
// Special case for message event
|
|
95
|
+
// We want to handle it differently
|
|
96
|
+
// We want to filter out the ping messages
|
|
97
|
+
if (type === 'message') {
|
|
98
|
+
socket === null || socket === void 0 ? void 0 : socket.addHandler('message', function (ev) {
|
|
99
|
+
if (ev.data === 'pong') {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
handler(ev);
|
|
103
|
+
});
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
socket === null || socket === void 0 ? void 0 : socket.addHandler(type, handler);
|
|
107
|
+
};
|
|
108
|
+
var clear = function () {
|
|
109
|
+
setMessages([]);
|
|
110
|
+
};
|
|
111
|
+
var addMessage = function (message) {
|
|
112
|
+
if (options === null || options === void 0 ? void 0 : options.useState) {
|
|
113
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [message], false); });
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
(0, react_use_1.useEffectOnce)(function () {
|
|
117
|
+
if (options === null || options === void 0 ? void 0 : options.openOnMount) {
|
|
118
|
+
open();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
(0, react_use_1.useUnmount)(function () {
|
|
122
|
+
if (options === null || options === void 0 ? void 0 : options.closeOnUnmount) {
|
|
123
|
+
close();
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
return { messages: messages, status: status, open: open, socket: socket, close: close, send: send, clear: clear, on: on, addMessage: addMessage };
|
|
127
|
+
};
|
|
128
|
+
exports.useReqraftWebSocket = useReqraftWebSocket;
|
|
129
|
+
//# sourceMappingURL=useWebSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebSocket.js","sourceRoot":"","sources":["../../../src/hooks/useWebSocket/useWebSocket.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export * from './components/form';
|
|
|
2
2
|
export { IReqraftMenuItem, IReqraftMenuProps, ReqraftMenu, TReqraftMenu, TReqraftMenuItem, } from './components/menu/Menu';
|
|
3
3
|
export { IReqraftUseFetch, useFetch } from './hooks/useFetch/useFetch';
|
|
4
4
|
export { TReqraftUseStorage, useReqraftStorage } from './hooks/useStorage/useStorage';
|
|
5
|
+
export * from './hooks/useWebSocket/useWebSocket';
|
|
5
6
|
export { ReqraftProvider, ReqraftQueryClient, initializeReqraft, } from './providers/ReqraftProvider';
|
|
6
7
|
export { query } from './utils/fetch';
|
|
8
|
+
export * from './utils/websocket';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtF,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,10 +22,12 @@ var useFetch_1 = require("./hooks/useFetch/useFetch");
|
|
|
22
22
|
Object.defineProperty(exports, "useFetch", { enumerable: true, get: function () { return useFetch_1.useFetch; } });
|
|
23
23
|
var useStorage_1 = require("./hooks/useStorage/useStorage");
|
|
24
24
|
Object.defineProperty(exports, "useReqraftStorage", { enumerable: true, get: function () { return useStorage_1.useReqraftStorage; } });
|
|
25
|
+
__exportStar(require("./hooks/useWebSocket/useWebSocket"), exports);
|
|
25
26
|
var ReqraftProvider_1 = require("./providers/ReqraftProvider");
|
|
26
27
|
Object.defineProperty(exports, "ReqraftProvider", { enumerable: true, get: function () { return ReqraftProvider_1.ReqraftProvider; } });
|
|
27
28
|
Object.defineProperty(exports, "ReqraftQueryClient", { enumerable: true, get: function () { return ReqraftProvider_1.ReqraftQueryClient; } });
|
|
28
29
|
Object.defineProperty(exports, "initializeReqraft", { enumerable: true, get: function () { return ReqraftProvider_1.initializeReqraft; } });
|
|
29
30
|
var fetch_1 = require("./utils/fetch");
|
|
30
31
|
Object.defineProperty(exports, "query", { enumerable: true, get: function () { return fetch_1.query; } });
|
|
32
|
+
__exportStar(require("./utils/websocket"), exports);
|
|
31
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+CAMgC;AAH9B,mGAAA,WAAW,OAAA;AAKb,sDAAuE;AAA5C,oGAAA,QAAQ,OAAA;AACnC,4DAAsF;AAAzD,+GAAA,iBAAiB,OAAA;AAC9C,+DAIqC;AAHnC,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AAEnB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+CAMgC;AAH9B,mGAAA,WAAW,OAAA;AAKb,sDAAuE;AAA5C,oGAAA,QAAQ,OAAA;AACnC,4DAAsF;AAAzD,+GAAA,iBAAiB,OAAA;AAC9C,oEAAkD;AAClD,+DAIqC;AAHnC,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AAEnB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,oDAAkC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export interface IReqraftWebSocketConfig {
|
|
3
|
+
url: string;
|
|
4
|
+
reconnect?: boolean;
|
|
5
|
+
reconnectInterval?: number;
|
|
6
|
+
maxReconnectTries?: number;
|
|
7
|
+
useHeartbeat?: boolean;
|
|
8
|
+
onOpen?: (ev?: Event) => void;
|
|
9
|
+
onMessage?: (ev: MessageEvent) => void;
|
|
10
|
+
onClose?: (ev?: CloseEvent) => void;
|
|
11
|
+
onError?: (ev?: Event) => void;
|
|
12
|
+
onReconnecting?: (reconnectNumber?: number) => void;
|
|
13
|
+
onReconnectFailed?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare class ReqraftWebSocketsManager {
|
|
16
|
+
static defaultConfig: IReqraftWebSocketConfig;
|
|
17
|
+
static connections: Record<string, {
|
|
18
|
+
socket: WebSocket;
|
|
19
|
+
using: number;
|
|
20
|
+
heartbeat?: NodeJS.Timeout;
|
|
21
|
+
}>;
|
|
22
|
+
static closeAll(): void;
|
|
23
|
+
static addHandler(url: string, event: keyof WebSocketEventMap, handler: (ev: Event | MessageEvent | CloseEvent) => void): () => void;
|
|
24
|
+
static removeHandler(url: string, event: keyof WebSocketEventMap, handler: (ev: Event | MessageEvent | CloseEvent) => void): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class ReqraftWebSocket {
|
|
27
|
+
isConnected: boolean;
|
|
28
|
+
reconnectTries: number;
|
|
29
|
+
reconnectInterval: NodeJS.Timeout;
|
|
30
|
+
options: IReqraftWebSocketConfig;
|
|
31
|
+
readonly handlers: Record<string, {
|
|
32
|
+
type: keyof WebSocketEventMap;
|
|
33
|
+
event: (ev: Event) => void;
|
|
34
|
+
}>;
|
|
35
|
+
private socket;
|
|
36
|
+
constructor(config: IReqraftWebSocketConfig);
|
|
37
|
+
addHandler(event: keyof WebSocketEventMap, handler: (ev: Event | MessageEvent | CloseEvent) => void): any;
|
|
38
|
+
removeHandler(id: string): void;
|
|
39
|
+
private getSocketUrl;
|
|
40
|
+
connect(): void;
|
|
41
|
+
send(data: string): void;
|
|
42
|
+
checkServerStatus(): Promise<void>;
|
|
43
|
+
private tryReconnect;
|
|
44
|
+
maybeReconnect(closeCode: number): void;
|
|
45
|
+
remove(): void;
|
|
46
|
+
close(): void;
|
|
47
|
+
removeAllHandlers(): void;
|
|
48
|
+
private startHeartbeat;
|
|
49
|
+
private stopHeartbeat;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/utils/websocket.ts"],"names":[],"mappings":";AAIA,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,qBAAa,wBAAwB;IACnC,OAAc,aAAa,EAAE,uBAAuB,CAMlD;IACF,OAAc,WAAW,EAAE,MAAM,CAC/B,MAAM,EACN;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;KAAE,CACjE,CAAM;WAEO,QAAQ;WAMR,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,iBAAiB,EAC9B,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,YAAY,GAAG,UAAU,KAAK,IAAI;WAS5C,aAAa,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,iBAAiB,EAC9B,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,YAAY,GAAG,UAAU,KAAK,IAAI;CAI3D;AAED,qBAAa,gBAAgB;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAK;IAC3B,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC;IAClC,OAAO,EAAE,uBAAuB,CAAC;IACxC,SAAgB,QAAQ,EAAE,MAAM,CAC9B,MAAM,EACN;QAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;QAAC,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAA;KAAE,CAC9D,CAAM;IACP,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,uBAAuB;IASpC,UAAU,CACf,KAAK,EAAE,MAAM,iBAAiB,EAC9B,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,YAAY,GAAG,UAAU,KAAK,IAAI;IAWnD,aAAa,CAAC,EAAE,EAAE,MAAM;IAU/B,OAAO,CAAC,YAAY;IAUb,OAAO;IAwDP,IAAI,CAAC,IAAI,EAAE,MAAM;IAIX,iBAAiB;YAUhB,YAAY;IASnB,cAAc,CAAC,SAAS,EAAE,MAAM;IA4BhC,MAAM;IAcN,KAAK;IAIL,iBAAiB;IAMxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAMtB"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.ReqraftWebSocket = exports.ReqraftWebSocketsManager = void 0;
|
|
54
|
+
var lodash_1 = require("lodash");
|
|
55
|
+
var shortid_1 = __importDefault(require("shortid"));
|
|
56
|
+
var fetch_1 = require("./fetch");
|
|
57
|
+
var ReqraftWebSocketsManager = /** @class */ (function () {
|
|
58
|
+
function ReqraftWebSocketsManager() {
|
|
59
|
+
}
|
|
60
|
+
ReqraftWebSocketsManager.closeAll = function () {
|
|
61
|
+
(0, lodash_1.forEach)(this.connections, function (connection) {
|
|
62
|
+
connection.socket.close(4999);
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
ReqraftWebSocketsManager.addHandler = function (url, event, handler) {
|
|
66
|
+
var _this = this;
|
|
67
|
+
var _a;
|
|
68
|
+
(_a = this.connections[url]) === null || _a === void 0 ? void 0 : _a.socket.addEventListener(event, handler);
|
|
69
|
+
return function () {
|
|
70
|
+
var _a;
|
|
71
|
+
(_a = _this.connections[url]) === null || _a === void 0 ? void 0 : _a.socket.removeEventListener(event, handler);
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
ReqraftWebSocketsManager.removeHandler = function (url, event, handler) {
|
|
75
|
+
var _a;
|
|
76
|
+
(_a = this.connections[url]) === null || _a === void 0 ? void 0 : _a.socket.removeEventListener(event, handler);
|
|
77
|
+
};
|
|
78
|
+
ReqraftWebSocketsManager.defaultConfig = {
|
|
79
|
+
reconnect: true,
|
|
80
|
+
url: '',
|
|
81
|
+
maxReconnectTries: 10,
|
|
82
|
+
reconnectInterval: 5000,
|
|
83
|
+
useHeartbeat: true,
|
|
84
|
+
};
|
|
85
|
+
ReqraftWebSocketsManager.connections = {};
|
|
86
|
+
return ReqraftWebSocketsManager;
|
|
87
|
+
}());
|
|
88
|
+
exports.ReqraftWebSocketsManager = ReqraftWebSocketsManager;
|
|
89
|
+
var ReqraftWebSocket = /** @class */ (function () {
|
|
90
|
+
function ReqraftWebSocket(config) {
|
|
91
|
+
this.reconnectTries = 0;
|
|
92
|
+
this.handlers = {};
|
|
93
|
+
this.isConnected = true;
|
|
94
|
+
this.reconnectTries = 0;
|
|
95
|
+
this.reconnectInterval = null;
|
|
96
|
+
this.options = __assign(__assign({}, ReqraftWebSocketsManager.defaultConfig), config);
|
|
97
|
+
this.connect();
|
|
98
|
+
}
|
|
99
|
+
ReqraftWebSocket.prototype.addHandler = function (event, handler) {
|
|
100
|
+
var id = shortid_1.default.generate();
|
|
101
|
+
this.handlers[id] = { type: event, event: handler };
|
|
102
|
+
ReqraftWebSocketsManager.addHandler(this.options.url, event, handler);
|
|
103
|
+
return id;
|
|
104
|
+
};
|
|
105
|
+
ReqraftWebSocket.prototype.removeHandler = function (id) {
|
|
106
|
+
ReqraftWebSocketsManager.removeHandler(this.options.url, this.handlers[id].type, this.handlers[id].event);
|
|
107
|
+
delete this.handlers[id];
|
|
108
|
+
};
|
|
109
|
+
ReqraftWebSocket.prototype.getSocketUrl = function () {
|
|
110
|
+
var wsUrl = fetch_1.fetchConfig.instance.replace('http', 'ws');
|
|
111
|
+
if (wsUrl.endsWith('/')) {
|
|
112
|
+
wsUrl = wsUrl.slice(0, -1);
|
|
113
|
+
}
|
|
114
|
+
return "".concat(wsUrl, "/").concat(this.options.url, "?token=").concat(fetch_1.fetchConfig.instanceToken);
|
|
115
|
+
};
|
|
116
|
+
ReqraftWebSocket.prototype.connect = function () {
|
|
117
|
+
var _this = this;
|
|
118
|
+
var _a, _b, _c;
|
|
119
|
+
if (!ReqraftWebSocketsManager.connections[this.options.url]) {
|
|
120
|
+
this.socket = new WebSocket(this.getSocketUrl());
|
|
121
|
+
this.socket.onopen = function (ev) {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
_this.reconnectTries = 0;
|
|
124
|
+
_this.isConnected = true;
|
|
125
|
+
clearInterval(_this.reconnectInterval);
|
|
126
|
+
_this.reconnectInterval = undefined;
|
|
127
|
+
if (_this.options.useHeartbeat) {
|
|
128
|
+
_this.startHeartbeat();
|
|
129
|
+
}
|
|
130
|
+
(_b = (_a = _this.options) === null || _a === void 0 ? void 0 : _a.onOpen) === null || _b === void 0 ? void 0 : _b.call(_a, ev);
|
|
131
|
+
};
|
|
132
|
+
ReqraftWebSocketsManager.connections[this.options.url] = {
|
|
133
|
+
socket: this.socket,
|
|
134
|
+
using: 0,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.socket = ReqraftWebSocketsManager.connections[this.options.url].socket;
|
|
139
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.onOpen) === null || _b === void 0 ? void 0 : _b.call(_a, null);
|
|
140
|
+
}
|
|
141
|
+
// Increment the number of parts using this connection
|
|
142
|
+
ReqraftWebSocketsManager.connections[this.options.url].using++;
|
|
143
|
+
if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.onMessage) {
|
|
144
|
+
this.addHandler('message', function (event) {
|
|
145
|
+
var _a, _b;
|
|
146
|
+
if (event.data === 'pong') {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
(_b = (_a = _this.options) === null || _a === void 0 ? void 0 : _a.onMessage) === null || _b === void 0 ? void 0 : _b.call(_a, event);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
this.addHandler('close', function (event) {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
(_b = (_a = _this.options) === null || _a === void 0 ? void 0 : _a.onClose) === null || _b === void 0 ? void 0 : _b.call(_a, event);
|
|
155
|
+
_this.stopHeartbeat();
|
|
156
|
+
_this.removeAllHandlers();
|
|
157
|
+
delete ReqraftWebSocketsManager.connections[_this.options.url];
|
|
158
|
+
// Start the reconnect process
|
|
159
|
+
_this.maybeReconnect(event.code);
|
|
160
|
+
});
|
|
161
|
+
this.addHandler('error', function (event) {
|
|
162
|
+
var _a, _b;
|
|
163
|
+
(_b = (_a = _this.options) === null || _a === void 0 ? void 0 : _a.onError) === null || _b === void 0 ? void 0 : _b.call(_a, event);
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
ReqraftWebSocket.prototype.send = function (data) {
|
|
167
|
+
this.socket.send(data);
|
|
168
|
+
};
|
|
169
|
+
ReqraftWebSocket.prototype.checkServerStatus = function () {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
+
var check;
|
|
172
|
+
return __generator(this, function (_a) {
|
|
173
|
+
switch (_a.label) {
|
|
174
|
+
case 0: return [4 /*yield*/, (0, fetch_1.query)({ url: '/system/pid', cache: false })];
|
|
175
|
+
case 1:
|
|
176
|
+
check = _a.sent();
|
|
177
|
+
if (check.code === 401) {
|
|
178
|
+
// Qorus is back up again but we need to re-authenticate
|
|
179
|
+
// Get the current pathname and redirect to the login page
|
|
180
|
+
window.location.href = fetch_1.fetchConfig.unauthorizedRedirect(window.location.pathname);
|
|
181
|
+
}
|
|
182
|
+
return [2 /*return*/];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
ReqraftWebSocket.prototype.tryReconnect = function () {
|
|
188
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
+
var _a, _b;
|
|
190
|
+
return __generator(this, function (_c) {
|
|
191
|
+
switch (_c.label) {
|
|
192
|
+
case 0:
|
|
193
|
+
this.reconnectTries++;
|
|
194
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.onReconnecting) === null || _b === void 0 ? void 0 : _b.call(_a, this.reconnectTries);
|
|
195
|
+
return [4 /*yield*/, this.checkServerStatus()];
|
|
196
|
+
case 1:
|
|
197
|
+
_c.sent();
|
|
198
|
+
this.connect();
|
|
199
|
+
return [2 /*return*/];
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
ReqraftWebSocket.prototype.maybeReconnect = function (closeCode) {
|
|
205
|
+
var _a, _b;
|
|
206
|
+
if (this.options.reconnect && closeCode !== 4999) {
|
|
207
|
+
// If this is the first reconnect try
|
|
208
|
+
if (this.reconnectTries === 0) {
|
|
209
|
+
this.tryReconnect();
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
// If we haven't reached the max number of reconnect tries
|
|
213
|
+
if (this.reconnectTries < this.options.maxReconnectTries) {
|
|
214
|
+
this.reconnectInterval = setTimeout(this.tryReconnect.bind(this), this.options.reconnectInterval);
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
// Reconnect failed
|
|
218
|
+
this.isConnected = false;
|
|
219
|
+
this.reconnectInterval = undefined;
|
|
220
|
+
this.reconnectTries = 0;
|
|
221
|
+
(_b = (_a = this.options).onReconnectFailed) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
ReqraftWebSocket.prototype.remove = function () {
|
|
225
|
+
if (!ReqraftWebSocketsManager.connections[this.options.url])
|
|
226
|
+
return;
|
|
227
|
+
// Decrement the number of parts using this connection
|
|
228
|
+
ReqraftWebSocketsManager.connections[this.options.url].using--;
|
|
229
|
+
// If this is the last part using the connection, close it
|
|
230
|
+
if (ReqraftWebSocketsManager.connections[this.options.url].using === 0) {
|
|
231
|
+
this.close();
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// Remove all handlers
|
|
235
|
+
this.removeAllHandlers();
|
|
236
|
+
};
|
|
237
|
+
ReqraftWebSocket.prototype.close = function () {
|
|
238
|
+
this.socket.close(4999);
|
|
239
|
+
};
|
|
240
|
+
ReqraftWebSocket.prototype.removeAllHandlers = function () {
|
|
241
|
+
var _this = this;
|
|
242
|
+
(0, lodash_1.forEach)(this.handlers, function (_handler, id) {
|
|
243
|
+
_this.removeHandler(id);
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
ReqraftWebSocket.prototype.startHeartbeat = function () {
|
|
247
|
+
var _this = this;
|
|
248
|
+
// Start the heartbeat
|
|
249
|
+
clearInterval(ReqraftWebSocketsManager.connections[this.options.url].heartbeat);
|
|
250
|
+
ReqraftWebSocketsManager.connections[this.options.url].heartbeat = null;
|
|
251
|
+
ReqraftWebSocketsManager.connections[this.options.url].heartbeat = setInterval(function () {
|
|
252
|
+
_this.socket.send('ping');
|
|
253
|
+
}, 3000);
|
|
254
|
+
};
|
|
255
|
+
ReqraftWebSocket.prototype.stopHeartbeat = function () {
|
|
256
|
+
if (!ReqraftWebSocketsManager.connections[this.options.url])
|
|
257
|
+
return;
|
|
258
|
+
clearInterval(ReqraftWebSocketsManager.connections[this.options.url].heartbeat);
|
|
259
|
+
ReqraftWebSocketsManager.connections[this.options.url].heartbeat = null;
|
|
260
|
+
};
|
|
261
|
+
return ReqraftWebSocket;
|
|
262
|
+
}());
|
|
263
|
+
exports.ReqraftWebSocket = ReqraftWebSocket;
|
|
264
|
+
//# sourceMappingURL=websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/utils/websocket.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,oDAA8B;AAC9B,iCAA6C;AAgB7C;IAAA;IAsCA,CAAC;IAzBe,iCAAQ,GAAtB;QACE,IAAA,gBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,UAAC,UAAU;YACnC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,mCAAU,GAAxB,UACE,GAAW,EACX,KAA8B,EAC9B,OAAwD;QAH1D,iBAUC;;QALC,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/D,OAAO;;YACL,MAAA,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC;IAEa,sCAAa,GAA3B,UACE,GAAW,EACX,KAA8B,EAC9B,OAAwD;;QAExD,MAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IApCa,sCAAa,GAA4B;QACrD,SAAS,EAAE,IAAI;QACf,GAAG,EAAE,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;KACnB,CAAC;IACY,oCAAW,GAGrB,EAAE,CAAC;IA2BT,+BAAC;CAAA,AAtCD,IAsCC;AAtCY,4DAAwB;AAwCrC;IAWE,0BAAY,MAA+B;QATpC,mBAAc,GAAW,CAAC,CAAC;QAGlB,aAAQ,GAGpB,EAAE,CAAC;QAIL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,yBAAQ,wBAAwB,CAAC,aAAa,GAAK,MAAM,CAAE,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEM,qCAAU,GAAjB,UACE,KAA8B,EAC9B,OAAwD;QAExD,IAAM,EAAE,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAEpD,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtE,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,wCAAa,GAApB,UAAqB,EAAU;QAC7B,wBAAwB,CAAC,aAAa,CACpC,IAAI,CAAC,OAAO,CAAC,GAAG,EAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CACxB,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAEO,uCAAY,GAApB;QACE,IAAI,KAAK,GAAG,mBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,UAAG,KAAK,cAAI,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAU,mBAAW,CAAC,aAAa,CAAE,CAAC;IAC3E,CAAC;IAEM,kCAAO,GAAd;QAAA,iBAsDC;;QArDC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,UAAC,EAAE;;gBACtB,KAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,aAAa,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;gBAEtC,KAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBAEnC,IAAI,KAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC9B,KAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBAED,MAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,MAAM,mDAAG,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEF,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,mDAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,sDAAsD;QACtD,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAE/D,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAC,KAAK;;gBAC/B,IAAmB,KAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1C,OAAO;gBACT,CAAC;gBAED,MAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,SAAS,mDAAiB,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,KAAK;;YAC7B,MAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,OAAO,mDAAe,KAAK,CAAC,CAAC;YAC3C,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO,wBAAwB,CAAC,WAAW,CAAC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE9D,8BAA8B;YAC9B,KAAI,CAAC,cAAc,CAAc,KAAM,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,KAAK;;YAC7B,MAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,OAAO,mDAAG,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAAI,GAAX,UAAY,IAAY;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEY,4CAAiB,GAA9B;;;;;4BACgB,qBAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAA;;wBAAzD,KAAK,GAAG,SAAiD;wBAE/D,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;4BACvB,wDAAwD;4BACxD,0DAA0D;4BAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,mBAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACpF,CAAC;;;;;KACF;IAEa,uCAAY,GAA1B;;;;;;wBACE,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,mDAAG,IAAI,CAAC,cAAc,CAAC,CAAC;wBAEpD,qBAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;wBAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;;;;;KAChB;IAEM,yCAAc,GAArB,UAAsB,SAAiB;;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACjD,qCAAqC;YACrC,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,OAAO;YACT,CAAC;YAED,0DAA0D;YAC1D,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACzD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC/B,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YAExB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,iBAAiB,kDAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAEM,iCAAM,GAAb;QACE,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO;QACpE,sDAAsD;QACtD,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,0DAA0D;QAC1D,IAAI,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEM,gCAAK,GAAZ;QACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,4CAAiB,GAAxB;QAAA,iBAIC;QAHC,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,QAAQ,EAAE,EAAE;YAClC,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yCAAc,GAAtB;QAAA,iBAOC;QANC,sBAAsB;QACtB,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAChF,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACxE,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;YAC7E,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,wCAAa,GAArB;QACE,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO;QAEpE,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAChF,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1E,CAAC;IACH,uBAAC;AAAD,CAAC,AAvMD,IAuMC;AAvMY,4CAAgB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qoretechnologies/reqraft",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"lint": "yarn run eslint ./src/",
|
|
17
17
|
"storybook": "storybook dev -p 6008",
|
|
18
18
|
"update-reqore": "yarn add @qoretechnologies/reqore@beta",
|
|
19
|
-
"test-storybook": "DEBUG_PRINT_LIMIT=
|
|
19
|
+
"test-storybook": "DEBUG_PRINT_LIMIT=300 test-storybook --url http://localhost:6008",
|
|
20
20
|
"install-playwright": "npx playwright install --with-deps",
|
|
21
21
|
"build-storybook": "storybook build",
|
|
22
22
|
"chromatic": "npx chromatic"
|
|
@@ -51,20 +51,20 @@
|
|
|
51
51
|
"@babel/preset-env": "^7.12.11",
|
|
52
52
|
"@babel/preset-react": "^7.12.10",
|
|
53
53
|
"@babel/preset-typescript": "^7.12.7",
|
|
54
|
-
"@chromatic-com/storybook": "^1",
|
|
54
|
+
"@chromatic-com/storybook": "^1.5.0",
|
|
55
55
|
"@qoretechnologies/reqore": "^0.43.0",
|
|
56
|
-
"@storybook/addon-actions": "^8.
|
|
57
|
-
"@storybook/addon-essentials": "^8.
|
|
58
|
-
"@storybook/addon-interactions": "^8.
|
|
59
|
-
"@storybook/addon-links": "^8.
|
|
56
|
+
"@storybook/addon-actions": "^8.1.7",
|
|
57
|
+
"@storybook/addon-essentials": "^8.1.7",
|
|
58
|
+
"@storybook/addon-interactions": "^8.1.7",
|
|
59
|
+
"@storybook/addon-links": "^8.1.7",
|
|
60
60
|
"@storybook/addon-webpack5-compiler-babel": "^3.0.3",
|
|
61
|
-
"@storybook/manager-api": "^8.
|
|
62
|
-
"@storybook/react": "^8.
|
|
63
|
-
"@storybook/react-webpack5": "^8.
|
|
64
|
-
"@storybook/test": "^8.
|
|
65
|
-
"@storybook/test-runner": "^0.
|
|
66
|
-
"@storybook/theming": "^8.
|
|
67
|
-
"@storybook/types": "^8.
|
|
61
|
+
"@storybook/manager-api": "^8.1.7",
|
|
62
|
+
"@storybook/react": "^8.1.7",
|
|
63
|
+
"@storybook/react-webpack5": "^8.1.7",
|
|
64
|
+
"@storybook/test": "^8.1.7",
|
|
65
|
+
"@storybook/test-runner": "^0.18.2",
|
|
66
|
+
"@storybook/theming": "^8.1.7",
|
|
67
|
+
"@storybook/types": "^8.1.7",
|
|
68
68
|
"@testing-library/jest-dom": "^5.16.5",
|
|
69
69
|
"@testing-library/react": "^13.4.0",
|
|
70
70
|
"@types/jest": "^26.0.19",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"jest": "^29.4.3",
|
|
86
86
|
"jest-environment-jsdom": "^29.4.3",
|
|
87
87
|
"jest-github-actions-reporter": "^1.0.2",
|
|
88
|
+
"mock-socket": "^9.3.1",
|
|
88
89
|
"npm-cli-login": "^0.1.1",
|
|
89
90
|
"playwright": "^1.16.3",
|
|
90
91
|
"pre-push": "^0.1.4",
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
"react-dom": "^18.3.1",
|
|
93
94
|
"react-intersection-observer": "^9.4.2",
|
|
94
95
|
"react-test-renderer": "^18.2.0",
|
|
95
|
-
"storybook": "^8.
|
|
96
|
+
"storybook": "^8.1.7",
|
|
96
97
|
"storybook-addon-mock": "^5.0.0",
|
|
97
98
|
"ts-jest": "^29.1.2",
|
|
98
99
|
"ts-node": "^9.1.1",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ReqoreSpinner, ReqoreTree } from '@qoretechnologies/reqore';
|
|
2
2
|
import { StoryObj } from '@storybook/react';
|
|
3
|
-
import { useEffectOnce } from 'react-use';
|
|
4
3
|
import { testsWaitForText } from '../../../__tests__/utils';
|
|
5
4
|
import { StoryMeta } from '../../types';
|
|
6
5
|
import { useFetch } from './useFetch';
|
|
@@ -8,17 +7,15 @@ import { useFetch } from './useFetch';
|
|
|
8
7
|
const meta = {
|
|
9
8
|
title: 'Hooks/useFetch',
|
|
10
9
|
render: (args) => {
|
|
11
|
-
const {
|
|
10
|
+
const {
|
|
11
|
+
data = {},
|
|
12
|
+
load,
|
|
13
|
+
loading,
|
|
14
|
+
} = useFetch<any>({ url: 'public/info', method: args.method, loadOnMount: true });
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return loading ? (
|
|
18
|
-
<ReqoreSpinner />
|
|
19
|
-
) : (
|
|
20
|
-
<ReqoreTree data={data} bottomActions={[{ label: 'Refetch', onClick: load }]} />
|
|
21
|
-
);
|
|
16
|
+
return loading ?
|
|
17
|
+
<ReqoreSpinner />
|
|
18
|
+
: <ReqoreTree data={data} bottomActions={[{ label: 'Refetch', onClick: load }]} />;
|
|
22
19
|
},
|
|
23
20
|
} as StoryMeta<any>;
|
|
24
21
|
|