/* eslint-disable @typescript-eslint/no-var-requires */ const { ipcRenderer, contextBridge } = require('electron') const log = require("electron-log"); contextBridge.exposeInMainWorld( "electronBridge", { send: (channel, data) => { log.log("Send on channel " + channel) // whitelist channels let validChannels = [ "get-save-data-response", "get-save-info-response", "push-game-saved", "push-game-ready", "push-import-result", "push-disable-restore", ]; if (validChannels.includes(channel)) { ipcRenderer.send(channel, data); } }, receive: (channel, func) => { log.log("Receive on channel " + channel) let validChannels = [ "get-save-data-request", "get-save-info-request", "push-save-request", "trigger-save", "trigger-game-export", "trigger-scripts-export", ]; if (validChannels.includes(channel)) { // Deliberately strip event as it includes `sender` ipcRenderer.on(channel, (event, ...args) => func(...args)); } } } );