]> Repos - mime-chat/commitdiff
refactor ipcEmit event main
authorriqo <hernandeze2@xavier.edu>
Sun, 20 Jun 2021 19:01:48 +0000 (14:01 -0500)
committerriqo <hernandeze2@xavier.edu>
Sun, 20 Jun 2021 19:01:48 +0000 (14:01 -0500)
src/composables/useEmitter.ts
src/render/composables/useIpcRend.ts
src/render/composables/useMessages.ts
src/render/composables/useProfile.ts
src/types.ts
src/window.ts

index 134e9699520aceb920423bea9341a09569a80e9c..f95f328a1579a44f201f688cfcbd2fdd399b866d 100644 (file)
@@ -6,10 +6,10 @@ class BackgroundMitt extends EventEmitter { }
 
 export const backgroundMitt = new BackgroundMitt();
 
 
 export const backgroundMitt = new BackgroundMitt();
 
-export const ipcEmit = (channel: string, payload: any) => {
+export const ipcEmit = <T>(channel: string, payload: T) => {
     backgroundMitt.emit('ipc-renderer', {
     backgroundMitt.emit('ipc-renderer', {
-        channel: channel,
-        message: payload
+        channel,
+        payload
     });
 };
 
     });
 };
 
index c1e5e330b9afe084a087b5a6eeebee67d6317beb..9ba7f739f6a2f2344b876f2511843f2e6ffbcb61 100644 (file)
@@ -24,9 +24,9 @@ export class IpcRendererListener<InputParam> implements IIpcListener<InputParam>
       window.ipcRenderer.removeAllListeners(this.channel);
   }
 
       window.ipcRenderer.removeAllListeners(this.channel);
   }
 
-  private _onPost = (_e: IpcRendererEvent, payload: IpcEmitPayload<InputParam>): void => {
+  private _onPost = (_e: IpcRendererEvent, payload: InputParam): void => {
       console.log(`[IPC] Post: ${this.channel}`);
       console.log(`[IPC] Post: ${this.channel}`);
-      this._listenerCallback(payload.message);
+      this._listenerCallback(payload);
   }
 
 }
   }
 
 }
index 11377fd5b2a728bff7f7d6ce360f912277c81efc..f7315846e73d5ba8ffef2e0941fdf885cd0f717f 100644 (file)
@@ -2,7 +2,7 @@
 import { ref, Ref } from "vue";
 import useScroll from "@/render/composables/useScroll";
 
 import { ref, Ref } from "vue";
 import useScroll from "@/render/composables/useScroll";
 
-export let messages: Ref<Array<Message>> = ref([]);
+export const messages: Ref<Array<Message>> = ref([]);
 
 export const setMessages: IpcListenerCallback<Array<Message>> = (payload) => {
     messages.value = payload as Array<Message>;
 
 export const setMessages: IpcListenerCallback<Array<Message>> = (payload) => {
     messages.value = payload as Array<Message>;
index 8585763eec29408b46b76dff30c9e184bd6aadb8..3575de7a15bea3914e495c72a8e6ef43a2b4af55 100644 (file)
@@ -1,9 +1,9 @@
 // shared
 import { ref } from "vue";
 
 // shared
 import { ref } from "vue";
 
-export let profile = ref();
+export const profile = ref();
 
 
-export let authComplete = ref(false);
+export const authComplete = ref(false);
 
 export const setProfile: IpcListenerCallback<Profile | null> = (payload) => {
     payload ? profile.value = payload : clearProfile();
 
 export const setProfile: IpcListenerCallback<Profile | null> = (payload) => {
     payload ? profile.value = payload : clearProfile();
index 7c78e2970fe8b812a6a0a510ceccc5a7be9b1b67..450cb771abde18f2bb90f41020ada5f4ae5d4242 100644 (file)
@@ -70,7 +70,8 @@ interface IPCListeners {
     [listener: string]: IIpcListener<any> | null;
 }
 
     [listener: string]: IIpcListener<any> | null;
 }
 
-interface IpcEmitPayload<T> {
-    message: T | null;
+interface IpcRendererEvent<T> {
+  channel: string;
+  payload: T | null;
 }
 
 }
 
index 3c16e7a14945bde1d40f511fd49e318e6d53dde0..21ebbcaaad10fbb44cec32c65d00e4b1b190ad04 100644 (file)
@@ -9,11 +9,6 @@ import fs from 'fs';
 import { config } from "@/config";
 const { autoUpdater } = require('electron-updater');
 
 import { config } from "@/config";
 const { autoUpdater } = require('electron-updater');
 
-interface IpcRendererPayload {
-  channel: string;
-  message: Message | null;
-}
-
 let win: BrowserWindow | null;
 let winState: WindowState;
 
 let win: BrowserWindow | null;
 let winState: WindowState;
 
@@ -49,12 +44,9 @@ const onNavBar = (_event: any, action: string): void => {
 }
 
 // Util function to render message on ipc-renderer event.
 }
 
 // Util function to render message on ipc-renderer event.
-const renderMessage = (payload: IpcRendererPayload): void => {
-    console.log('sending to browser window', payload);
+const postToWindow = <T>(event: IpcRendererEvent<T>): void => {
     if (win) {
     if (win) {
-        win.webContents.send(payload.channel, {
-            message: payload.message
-        });
+        win.webContents.send(event.channel, event.payload);
     }
 }
 
     }
 }
 
@@ -89,7 +81,7 @@ const onWindowMount = (): void => {
 
     // Gateway for messages to the frontend.
     backgroundMitt.removeAllListeners("ipc-renderer")
 
     // Gateway for messages to the frontend.
     backgroundMitt.removeAllListeners("ipc-renderer")
-    backgroundMitt.on("ipc-renderer", renderMessage);
+    backgroundMitt.on("ipc-renderer", postToWindow);
 
 }
 
 
 }