nice flow not buggy with listeners doubling up

This commit is contained in:
talksik
2022-05-28 10:15:53 -05:00
parent 84b67c2c62
commit d843e0f130
7 changed files with 175 additions and 35 deletions
+4 -4
View File
@@ -1,5 +1,5 @@
import { Dimensions, DimensionChangeRequest } from "./constants";
import { electronAPI } from "./preload";
import { Dimensions, DimensionChangeRequest } from './constants';
import { electronAPI } from './preload';
export {};
declare global {
@@ -15,8 +15,8 @@ declare global {
window: {
resizeWindow(dimensionChangeRequest: DimensionChangeRequest): void;
};
on(channel: Channels, func: any): void;
once(channel: Channels, func: any): void;
on(channel: Channels, func: any): () => void;
once(channel: Channels, func: any): () => void;
};
}
}
+7 -1
View File
@@ -24,13 +24,14 @@ const electronAPI = {
},
on(channel: Channels, func: any) {
const validChannels = ['ipc-example'];
// const validChannels = ['ipc-example'];
// if (validChannels.includes(channel)) {
// // Deliberately strip event as it includes `sender`
// ipcRenderer.on(channel, (event, ...args) => func(...args));
// }
ipcRenderer.on(channel, (event, ...args) => func(...args));
return () => ipcRenderer.removeAllListeners(channel);
},
once(channel: Channels, func: any) {
// const validChannels = ["ipc-example"];
@@ -40,6 +41,11 @@ const electronAPI = {
// }
ipcRenderer.once(channel, (event, ...args) => func(...args));
return () => ipcRenderer.removeAllListeners(channel);
},
removeListener(channel: Channels) {
ipcRenderer.removeAllListeners(channel);
},
};
+5
View File
@@ -0,0 +1,5 @@
import Store from 'electron-store';
const store = new Store();
export default store;