@trops/dash-core 0.1.182 → 0.1.183
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +26 -22
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +26 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -27582,7 +27582,7 @@ var STATUS = {
|
|
|
27582
27582
|
* @returns {Object} WebSocket provider interface
|
|
27583
27583
|
*/
|
|
27584
27584
|
var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
27585
|
-
var _app$providers;
|
|
27585
|
+
var _dashApi$api, _app$providers;
|
|
27586
27586
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
27587
27587
|
var _options$autoConnect = options.autoConnect,
|
|
27588
27588
|
autoConnect = _options$autoConnect === void 0 ? true : _options$autoConnect,
|
|
@@ -27629,6 +27629,10 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27629
27629
|
var maxMessagesRef = React.useRef(maxMessages);
|
|
27630
27630
|
maxMessagesRef.current = maxMessages;
|
|
27631
27631
|
var dashApi = app === null || app === void 0 ? void 0 : app.dashApi;
|
|
27632
|
+
// Access the raw preload bridge (mainApi) for the webSocket sub-API.
|
|
27633
|
+
// dashApi is an ElectronDashboardApi wrapper; the webSocket methods
|
|
27634
|
+
// live on the underlying mainApi object (dashApi.api).
|
|
27635
|
+
var wsApi = dashApi === null || dashApi === void 0 || (_dashApi$api = dashApi.api) === null || _dashApi$api === void 0 ? void 0 : _dashApi$api.webSocket;
|
|
27632
27636
|
|
|
27633
27637
|
// Get the widget data
|
|
27634
27638
|
var widgetData = widgetContext === null || widgetContext === void 0 ? void 0 : widgetContext.widgetData;
|
|
@@ -27680,7 +27684,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27680
27684
|
}
|
|
27681
27685
|
return _context2.abrupt("return");
|
|
27682
27686
|
case 1:
|
|
27683
|
-
if (!(!
|
|
27687
|
+
if (!(!wsApi || !provider)) {
|
|
27684
27688
|
_context2.next = 2;
|
|
27685
27689
|
break;
|
|
27686
27690
|
}
|
|
@@ -27709,7 +27713,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27709
27713
|
}
|
|
27710
27714
|
_context2.prev = 5;
|
|
27711
27715
|
_context2.next = 6;
|
|
27712
|
-
return
|
|
27716
|
+
return wsApi.getStatus(selectedProviderName);
|
|
27713
27717
|
case 6:
|
|
27714
27718
|
statusResult = _context2.sent;
|
|
27715
27719
|
if (!((statusResult === null || statusResult === void 0 ? void 0 : statusResult.status) === "connected")) {
|
|
@@ -27786,7 +27790,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27786
27790
|
case 0:
|
|
27787
27791
|
_context.prev = 0;
|
|
27788
27792
|
_context.next = 1;
|
|
27789
|
-
return
|
|
27793
|
+
return wsApi.connect(selectedProviderName, {
|
|
27790
27794
|
url: provider.wsConfig.url,
|
|
27791
27795
|
headers: provider.wsConfig.headers || null,
|
|
27792
27796
|
subprotocols: provider.wsConfig.subprotocols || null,
|
|
@@ -27866,7 +27870,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27866
27870
|
return _context2.stop();
|
|
27867
27871
|
}
|
|
27868
27872
|
}, _callee2, null, [[5, 8], [10, 14], [18, 22]]);
|
|
27869
|
-
})), [
|
|
27873
|
+
})), [wsApi, provider, providerType, selectedProviderName, applyConnected]);
|
|
27870
27874
|
|
|
27871
27875
|
/**
|
|
27872
27876
|
* Disconnect from the WebSocket server.
|
|
@@ -27877,7 +27881,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27877
27881
|
return _regeneratorRuntime.wrap(function (_context3) {
|
|
27878
27882
|
while (1) switch (_context3.prev = _context3.next) {
|
|
27879
27883
|
case 0:
|
|
27880
|
-
if (!(!
|
|
27884
|
+
if (!(!wsApi || !selectedProviderName)) {
|
|
27881
27885
|
_context3.next = 1;
|
|
27882
27886
|
break;
|
|
27883
27887
|
}
|
|
@@ -27915,7 +27919,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27915
27919
|
pendingConnects["delete"](selectedProviderName);
|
|
27916
27920
|
_context3.prev = 4;
|
|
27917
27921
|
_context3.next = 5;
|
|
27918
|
-
return
|
|
27922
|
+
return wsApi.disconnect(selectedProviderName);
|
|
27919
27923
|
case 5:
|
|
27920
27924
|
_context3.next = 7;
|
|
27921
27925
|
break;
|
|
@@ -27927,7 +27931,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27927
27931
|
return _context3.stop();
|
|
27928
27932
|
}
|
|
27929
27933
|
}, _callee3, null, [[4, 6]]);
|
|
27930
|
-
})), [
|
|
27934
|
+
})), [wsApi, selectedProviderName]);
|
|
27931
27935
|
|
|
27932
27936
|
/**
|
|
27933
27937
|
* Send data through the WebSocket connection
|
|
@@ -27938,14 +27942,14 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27938
27942
|
return _regeneratorRuntime.wrap(function (_context4) {
|
|
27939
27943
|
while (1) switch (_context4.prev = _context4.next) {
|
|
27940
27944
|
case 0:
|
|
27941
|
-
if (!(!
|
|
27945
|
+
if (!(!wsApi || !selectedProviderName)) {
|
|
27942
27946
|
_context4.next = 1;
|
|
27943
27947
|
break;
|
|
27944
27948
|
}
|
|
27945
27949
|
throw new Error("WebSocket not connected");
|
|
27946
27950
|
case 1:
|
|
27947
27951
|
_context4.next = 2;
|
|
27948
|
-
return
|
|
27952
|
+
return wsApi.send(selectedProviderName, data);
|
|
27949
27953
|
case 2:
|
|
27950
27954
|
result = _context4.sent;
|
|
27951
27955
|
if (!result.error) {
|
|
@@ -27964,7 +27968,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27964
27968
|
return function (_x) {
|
|
27965
27969
|
return _ref4.apply(this, arguments);
|
|
27966
27970
|
};
|
|
27967
|
-
}(), [
|
|
27971
|
+
}(), [wsApi, selectedProviderName]);
|
|
27968
27972
|
|
|
27969
27973
|
// Keep a ref to connect so the auto-connect effect doesn't depend on it
|
|
27970
27974
|
var connectRef = React.useRef(connect);
|
|
@@ -27972,7 +27976,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27972
27976
|
|
|
27973
27977
|
// Listen for incoming messages from main process
|
|
27974
27978
|
React.useEffect(function () {
|
|
27975
|
-
if (!
|
|
27979
|
+
if (!wsApi || !selectedProviderName) return;
|
|
27976
27980
|
var handleMessage = function handleMessage(_event, payload) {
|
|
27977
27981
|
if (payload.provider !== selectedProviderName) return;
|
|
27978
27982
|
if (!mountedRef.current) return;
|
|
@@ -27987,15 +27991,15 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
27987
27991
|
setMessages(next);
|
|
27988
27992
|
setLastMessage(msg);
|
|
27989
27993
|
};
|
|
27990
|
-
|
|
27994
|
+
wsApi.onMessage(handleMessage);
|
|
27991
27995
|
return function () {
|
|
27992
|
-
return
|
|
27996
|
+
return wsApi.offMessage(handleMessage);
|
|
27993
27997
|
};
|
|
27994
|
-
}, [
|
|
27998
|
+
}, [wsApi, selectedProviderName]);
|
|
27995
27999
|
|
|
27996
28000
|
// Listen for status changes from main process
|
|
27997
28001
|
React.useEffect(function () {
|
|
27998
|
-
if (!
|
|
28002
|
+
if (!wsApi || !selectedProviderName) return;
|
|
27999
28003
|
var handleStatusChange = function handleStatusChange(_event, payload) {
|
|
28000
28004
|
if (payload.provider !== selectedProviderName) return;
|
|
28001
28005
|
if (!mountedRef.current) return;
|
|
@@ -28032,11 +28036,11 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
28032
28036
|
}
|
|
28033
28037
|
}
|
|
28034
28038
|
};
|
|
28035
|
-
|
|
28039
|
+
wsApi.onStatusChange(handleStatusChange);
|
|
28036
28040
|
return function () {
|
|
28037
|
-
return
|
|
28041
|
+
return wsApi.offStatusChange(handleStatusChange);
|
|
28038
28042
|
};
|
|
28039
|
-
}, [
|
|
28043
|
+
}, [wsApi, selectedProviderName]);
|
|
28040
28044
|
|
|
28041
28045
|
// Auto-connect on mount or when provider selection changes
|
|
28042
28046
|
React.useEffect(function () {
|
|
@@ -28053,7 +28057,7 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
28053
28057
|
mountedRef.current = false;
|
|
28054
28058
|
|
|
28055
28059
|
// Decrement consumer count; only disconnect if last consumer
|
|
28056
|
-
if (connectedRef.current &&
|
|
28060
|
+
if (connectedRef.current && wsApi && selectedProviderName) {
|
|
28057
28061
|
var state = connectionStates.get(selectedProviderName);
|
|
28058
28062
|
if (state) {
|
|
28059
28063
|
state.consumerCount = Math.max(0, state.consumerCount - 1);
|
|
@@ -28065,10 +28069,10 @@ var useWebSocketProvider = function useWebSocketProvider(providerType) {
|
|
|
28065
28069
|
// Last consumer — disconnect
|
|
28066
28070
|
connectionStates["delete"](selectedProviderName);
|
|
28067
28071
|
}
|
|
28068
|
-
|
|
28072
|
+
wsApi.disconnect(selectedProviderName)["catch"](function () {});
|
|
28069
28073
|
}
|
|
28070
28074
|
};
|
|
28071
|
-
}, [
|
|
28075
|
+
}, [wsApi, selectedProviderName]);
|
|
28072
28076
|
return {
|
|
28073
28077
|
isConnected: isConnected,
|
|
28074
28078
|
isConnecting: isConnecting,
|