quidproquo-web-react 0.0.191 → 0.0.192
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/lib/commonjs/hooks/index.d.ts +3 -0
- package/lib/commonjs/hooks/index.js +19 -0
- package/lib/commonjs/hooks/useFastCallback.d.ts +2 -0
- package/lib/commonjs/hooks/useFastCallback.js +19 -0
- package/lib/commonjs/hooks/useRunEvery.d.ts +1 -0
- package/lib/commonjs/hooks/useRunEvery.js +22 -0
- package/lib/commonjs/hooks/useThrottledMemo.d.ts +1 -0
- package/lib/commonjs/hooks/useThrottledMemo.js +32 -0
- package/lib/commonjs/index.d.ts +2 -1
- package/lib/commonjs/index.js +2 -1
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthSync.d.ts +7 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/WebSocketAuthSync.js +15 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/index.d.ts +2 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/index.js +18 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.d.ts +2 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketAuthSync.js +37 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.d.ts +1 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/hooks/useWebsocketPingPong.js +21 -0
- package/lib/commonjs/websocket/WebSocketAuthSync/index.d.ts +1 -0
- package/lib/commonjs/{component → websocket/WebSocketAuthSync}/index.js +1 -1
- package/lib/commonjs/websocket/WebsocketContext.d.ts +3 -0
- package/lib/commonjs/websocket/WebsocketContext.js +5 -0
- package/lib/commonjs/websocket/WebsocketProvider.d.ts +6 -0
- package/lib/commonjs/websocket/WebsocketProvider.js +11 -0
- package/lib/commonjs/websocket/hooks/index.d.ts +5 -0
- package/lib/commonjs/websocket/hooks/index.js +21 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebSocketEvent.d.ts +3 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebSocketEvent.js +17 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebsocket.d.ts +2 -0
- package/lib/commonjs/websocket/hooks/useSubscribeToWebsocket.js +17 -0
- package/lib/commonjs/websocket/hooks/useWebsocketApi.d.ts +1 -0
- package/lib/commonjs/websocket/hooks/useWebsocketApi.js +10 -0
- package/lib/commonjs/websocket/hooks/useWebsocketManagement.d.ts +2 -0
- package/lib/commonjs/websocket/hooks/useWebsocketManagement.js +17 -0
- package/lib/commonjs/websocket/hooks/useWebsocketSendEvent.d.ts +2 -0
- package/lib/commonjs/websocket/hooks/useWebsocketSendEvent.js +15 -0
- package/lib/commonjs/websocket/index.d.ts +3 -0
- package/lib/commonjs/websocket/index.js +19 -0
- package/package.json +6 -5
- package/lib/commonjs/component/Thing.d.ts +0 -1
- package/lib/commonjs/component/Thing.js +0 -6
- package/lib/commonjs/component/index.d.ts +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useThrottledMemo"), exports);
|
|
18
|
+
__exportStar(require("./useRunEvery"), exports);
|
|
19
|
+
__exportStar(require("./useFastCallback"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFastCallback = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useFastCallback(callback, deps) {
|
|
6
|
+
const callbackRef = (0, react_1.useRef)(callback);
|
|
7
|
+
const depsRef = (0, react_1.useRef)(deps);
|
|
8
|
+
// If the deps have changed, update the callback ref
|
|
9
|
+
// We support undefined deps, which means they are always updated
|
|
10
|
+
// This is different to [] where its never updated.
|
|
11
|
+
const hasDepsChanged = !depsRef.current || !deps || depsRef.current.some((dep, index) => dep !== deps[index]);
|
|
12
|
+
if (hasDepsChanged) {
|
|
13
|
+
callbackRef.current = callback;
|
|
14
|
+
}
|
|
15
|
+
depsRef.current = deps;
|
|
16
|
+
const memoFunc = (0, react_1.useCallback)((...args) => callbackRef.current(...args), []);
|
|
17
|
+
return memoFunc;
|
|
18
|
+
}
|
|
19
|
+
exports.useFastCallback = useFastCallback;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useRunEvery<T>(func: () => T, interval: number): T;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRunEvery = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useRunEvery(func, interval) {
|
|
6
|
+
const [value, setValue] = (0, react_1.useState)(func);
|
|
7
|
+
const intervalRef = (0, react_1.useRef)(null);
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
intervalRef.current = setInterval(() => {
|
|
10
|
+
const newValue = func();
|
|
11
|
+
setValue(newValue);
|
|
12
|
+
}, interval * 1000);
|
|
13
|
+
return () => {
|
|
14
|
+
if (intervalRef.current) {
|
|
15
|
+
clearInterval(intervalRef.current);
|
|
16
|
+
intervalRef.current = null;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}, [interval]);
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
exports.useRunEvery = useRunEvery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useThrottledMemo<T>(factory: () => T, deps: any[], delaySeconds?: number): T;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useThrottledMemo = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useThrottledMemo(factory, deps, delaySeconds = 1) {
|
|
6
|
+
const [value, setValue] = (0, react_1.useState)(factory);
|
|
7
|
+
const isFirstRun = (0, react_1.useRef)(true);
|
|
8
|
+
const timeoutRef = (0, react_1.useRef)(null);
|
|
9
|
+
(0, react_1.useEffect)(() => {
|
|
10
|
+
// This skips the throttling on the initial mount
|
|
11
|
+
if (isFirstRun.current) {
|
|
12
|
+
isFirstRun.current = false;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (timeoutRef.current) {
|
|
16
|
+
clearTimeout(timeoutRef.current);
|
|
17
|
+
}
|
|
18
|
+
timeoutRef.current = setTimeout(() => {
|
|
19
|
+
setValue(factory);
|
|
20
|
+
timeoutRef.current = null;
|
|
21
|
+
}, delaySeconds * 1000);
|
|
22
|
+
// Cleanup on component unmount or when dependencies change
|
|
23
|
+
return () => {
|
|
24
|
+
if (timeoutRef.current) {
|
|
25
|
+
clearTimeout(timeoutRef.current);
|
|
26
|
+
timeoutRef.current = null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}, [...deps, delaySeconds]);
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
exports.useThrottledMemo = useThrottledMemo;
|
package/lib/commonjs/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './websocket';
|
|
2
|
+
export * from './hooks';
|
package/lib/commonjs/index.js
CHANGED
|
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./websocket"), exports);
|
|
18
|
+
__exportStar(require("./hooks"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AuthenticationInfo } from 'quidproquo-core';
|
|
3
|
+
export type WebSocketAuthSyncProps = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
accessToken: AuthenticationInfo['accessToken'];
|
|
6
|
+
};
|
|
7
|
+
export declare const WebSocketAuthSync: import("react").NamedExoticComponent<WebSocketAuthSyncProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketAuthSync = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const hooks_1 = require("./hooks");
|
|
7
|
+
const component = ({ children, accessToken }) => {
|
|
8
|
+
(0, hooks_1.useWebsocketAuthSync)(accessToken);
|
|
9
|
+
// Keep the active websocket alive
|
|
10
|
+
(0, hooks_1.useWebsocketPingPong)();
|
|
11
|
+
// This fragment is not useless!
|
|
12
|
+
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
13
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
|
|
14
|
+
};
|
|
15
|
+
exports.WebSocketAuthSync = (0, react_1.memo)(component);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useWebsocketAuthSync"), exports);
|
|
18
|
+
__exportStar(require("./useWebsocketPingPong"), exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebsocketAuthSync = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const quidproquo_web_1 = require("quidproquo-web");
|
|
6
|
+
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
7
|
+
const hooks_1 = require("../../hooks");
|
|
8
|
+
const hooks_2 = require("../../../hooks");
|
|
9
|
+
const useWebsocketAuthSync = (accessToken) => {
|
|
10
|
+
const sendMessage = (0, hooks_1.useWebsocketSendEvent)();
|
|
11
|
+
const websocketApi = (0, hooks_1.useWebsocketApi)();
|
|
12
|
+
const updateAuthTokens = (0, hooks_2.useFastCallback)(() => {
|
|
13
|
+
if (!(websocketApi === null || websocketApi === void 0 ? void 0 : websocketApi.isConnected())) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (accessToken) {
|
|
17
|
+
const authMessage = {
|
|
18
|
+
type: quidproquo_webserver_1.WebsocketClientMessageEventType.Authenticate,
|
|
19
|
+
payload: {
|
|
20
|
+
accessToken: accessToken,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
sendMessage(authMessage);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const authMessage = {
|
|
27
|
+
type: quidproquo_webserver_1.WebsocketClientMessageEventType.Unauthenticate,
|
|
28
|
+
};
|
|
29
|
+
sendMessage(authMessage);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
// Sync the tokens in on open
|
|
33
|
+
(0, hooks_1.useSubscribeToWebsocket)(quidproquo_web_1.WebsocketServiceEvent.OPEN, updateAuthTokens);
|
|
34
|
+
// Sync the tokens when they change
|
|
35
|
+
(0, react_1.useEffect)(updateAuthTokens, [accessToken, websocketApi]);
|
|
36
|
+
};
|
|
37
|
+
exports.useWebsocketAuthSync = useWebsocketAuthSync;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useWebsocketPingPong: () => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebsocketPingPong = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const hooks_1 = require("../../hooks");
|
|
6
|
+
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
7
|
+
const useWebsocketPingPong = () => {
|
|
8
|
+
const sendMessage = (0, hooks_1.useWebsocketSendEvent)();
|
|
9
|
+
(0, react_1.useEffect)(() => {
|
|
10
|
+
const intervalId = setInterval(() => {
|
|
11
|
+
const pingEvent = {
|
|
12
|
+
type: quidproquo_webserver_1.WebsocketClientMessageEventType.Ping,
|
|
13
|
+
};
|
|
14
|
+
sendMessage(pingEvent);
|
|
15
|
+
}, 8 * 60 * 1000);
|
|
16
|
+
return () => {
|
|
17
|
+
clearInterval(intervalId);
|
|
18
|
+
};
|
|
19
|
+
}, [sendMessage]);
|
|
20
|
+
};
|
|
21
|
+
exports.useWebsocketPingPong = useWebsocketPingPong;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WebSocketAuthSync';
|
|
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./WebSocketAuthSync"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebsocketProvider = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const hooks_1 = require("./hooks");
|
|
6
|
+
const WebsocketContext_1 = require("./WebsocketContext");
|
|
7
|
+
const WebsocketProvider = ({ children, wsUrl }) => {
|
|
8
|
+
const websocketManagement = (0, hooks_1.useWebsocketManagement)(wsUrl);
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(WebsocketContext_1.WebSocketContext.Provider, Object.assign({ value: websocketManagement }, { children: children })));
|
|
10
|
+
};
|
|
11
|
+
exports.WebsocketProvider = WebsocketProvider;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useSubscribeToWebsocket"), exports);
|
|
18
|
+
__exportStar(require("./useSubscribeToWebSocketEvent"), exports);
|
|
19
|
+
__exportStar(require("./useWebsocketApi"), exports);
|
|
20
|
+
__exportStar(require("./useWebsocketManagement"), exports);
|
|
21
|
+
__exportStar(require("./useWebsocketSendEvent"), exports);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AnyEventMessage } from 'quidproquo-core';
|
|
2
|
+
import { WebSocketServiceEventSubscriptionFunction } from 'quidproquo-web';
|
|
3
|
+
export declare const useSubscribeToWebSocketEvent: <E extends AnyEventMessage>(subscriptionType: E["type"], callback: WebSocketServiceEventSubscriptionFunction<E>) => void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSubscribeToWebSocketEvent = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useWebsocketApi_1 = require("./useWebsocketApi");
|
|
6
|
+
const useSubscribeToWebSocketEvent = (subscriptionType, callback) => {
|
|
7
|
+
const websocketService = (0, useWebsocketApi_1.useWebsocketApi)();
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
const subscriptionHandle = websocketService === null || websocketService === void 0 ? void 0 : websocketService.subscribeToEvent(subscriptionType, callback);
|
|
10
|
+
return () => {
|
|
11
|
+
if (subscriptionHandle) {
|
|
12
|
+
websocketService === null || websocketService === void 0 ? void 0 : websocketService.unsubscribe(subscriptionHandle);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}, [websocketService, subscriptionType, callback]);
|
|
16
|
+
};
|
|
17
|
+
exports.useSubscribeToWebSocketEvent = useSubscribeToWebSocketEvent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSubscribeToWebsocket = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const useWebsocketApi_1 = require("./useWebsocketApi");
|
|
6
|
+
const useSubscribeToWebsocket = (subscriptionType, callback) => {
|
|
7
|
+
const websocketService = (0, useWebsocketApi_1.useWebsocketApi)();
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
const handle = websocketService === null || websocketService === void 0 ? void 0 : websocketService.subscribe(subscriptionType, callback);
|
|
10
|
+
return () => {
|
|
11
|
+
if (handle) {
|
|
12
|
+
websocketService === null || websocketService === void 0 ? void 0 : websocketService.unsubscribe(handle);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}, [websocketService, subscriptionType, callback]);
|
|
16
|
+
};
|
|
17
|
+
exports.useSubscribeToWebsocket = useSubscribeToWebsocket;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useWebsocketApi: () => import("quidproquo-web").WebsocketService | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebsocketApi = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const WebsocketContext_1 = require("../WebsocketContext");
|
|
6
|
+
const useWebsocketApi = () => {
|
|
7
|
+
const websocketService = (0, react_1.useContext)(WebsocketContext_1.WebSocketContext);
|
|
8
|
+
return websocketService;
|
|
9
|
+
};
|
|
10
|
+
exports.useWebsocketApi = useWebsocketApi;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebsocketManagement = void 0;
|
|
4
|
+
const quidproquo_web_1 = require("quidproquo-web");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const useWebsocketManagement = (wsUrl) => {
|
|
7
|
+
const [websocketApi, setWebsocketApi] = (0, react_1.useState)(null);
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
const wsService = new quidproquo_web_1.WebsocketService(wsUrl);
|
|
10
|
+
setWebsocketApi(wsService);
|
|
11
|
+
return () => {
|
|
12
|
+
wsService.destroy();
|
|
13
|
+
};
|
|
14
|
+
}, [wsUrl]);
|
|
15
|
+
return websocketApi;
|
|
16
|
+
};
|
|
17
|
+
exports.useWebsocketManagement = useWebsocketManagement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useWebsocketSendEvent = void 0;
|
|
4
|
+
const useWebsocketApi_1 = require("./useWebsocketApi");
|
|
5
|
+
const hooks_1 = require("../../hooks");
|
|
6
|
+
const useWebsocketSendEvent = () => {
|
|
7
|
+
const websocketApi = (0, useWebsocketApi_1.useWebsocketApi)();
|
|
8
|
+
const sendMessage = (0, hooks_1.useFastCallback)((event) => {
|
|
9
|
+
if (websocketApi) {
|
|
10
|
+
websocketApi.sendEvent(event);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return sendMessage;
|
|
14
|
+
};
|
|
15
|
+
exports.useWebsocketSendEvent = useWebsocketSendEvent;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./hooks"), exports);
|
|
18
|
+
__exportStar(require("./WebSocketAuthSync"), exports);
|
|
19
|
+
__exportStar(require("./WebsocketProvider"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quidproquo-web-react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.192",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/commonjs/index.js",
|
|
6
6
|
"types": "./lib/commonjs/index.d.ts",
|
|
@@ -25,12 +25,13 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/joe-coady/quidproquo#readme",
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"quidproquo-core": "0.0.
|
|
29
|
-
"quidproquo-tsconfig": "0.0.
|
|
30
|
-
"quidproquo-webserver": "0.0.
|
|
28
|
+
"quidproquo-core": "0.0.192",
|
|
29
|
+
"quidproquo-tsconfig": "0.0.192",
|
|
30
|
+
"quidproquo-webserver": "0.0.192",
|
|
31
|
+
"quidproquo-web": "0.0.192",
|
|
31
32
|
"typescript": "^4.9.3"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"react": ">=16.8.0"
|
|
35
36
|
}
|
|
36
|
-
}
|
|
37
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const Thing: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Thing';
|