mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
6 files changed
+139
-22
No files matched your search
+7
-2
@@ -1,6 +1,11 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import sendToIpcInjectable from "./send-to-ipc.injectable";
|
||||
import { SendMessageToChannel, sendMessageToChannelInjectionToken } from "@k8slens/messaging";
|
||||
import { getMessageChannel } from "@k8slens/messaging";
|
||||
|
||||
type BroadcasterChannelMessage = { targetChannelId: string; message: unknown };
|
||||
|
||||
const broadcasterChannel = getMessageChannel<BroadcasterChannelMessage>("messaging-broadcaster-in-main");
|
||||
|
||||
const messageToChannelInjectable = getInjectable({
|
||||
id: "message-to-channel",
|
||||
@@ -8,8 +13,8 @@ const messageToChannelInjectable = getInjectable({
|
||||
instantiate: (di) => {
|
||||
const sendToIpc = di.inject(sendToIpcInjectable);
|
||||
|
||||
return ((channel, message) => {
|
||||
sendToIpc(channel.id, message);
|
||||
return ((targetChannel, message) => {
|
||||
sendToIpc(broadcasterChannel.id, { targetChannelId: targetChannel.id, message });
|
||||
}) as SendMessageToChannel;
|
||||
},
|
||||
|
||||
|
||||
+5
-2
@@ -31,8 +31,11 @@ describe("message-from-channel", () => {
|
||||
sendMessageToChannel(someChannel, 42);
|
||||
});
|
||||
|
||||
it("sends to ipcRenderer of Electron", () => {
|
||||
expect(sendToIpcMock).toHaveBeenCalledWith("some-channel-id", 42);
|
||||
it("sends message to broadcasting channel using IPC", () => {
|
||||
expect(sendToIpcMock).toHaveBeenCalledWith("messaging-broadcaster-in-main", {
|
||||
targetChannelId: "some-channel-id",
|
||||
message: 42,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user