GamerC0der
Add application file
bf8b26e
import { ipcRenderer, contextBridge, type IpcRendererEvent } from 'electron';
console.debug('start preload.', ipcRenderer);
const ipc = {
invoke(...args: any[]) {
return ipcRenderer.invoke('ipcTest', ...args);
},
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
on(channel: string, func: Function) {
const f = (event: IpcRendererEvent, ...args: any[]) => func(...[event, ...args]);
console.debug('register listener', channel, f);
ipcRenderer.on(channel, f);
return () => {
console.debug('remove listener', channel, f);
ipcRenderer.removeListener(channel, f);
};
},
};
contextBridge.exposeInMainWorld('ipc', ipc);