/* eslint-disable @typescript-eslint/no-var-requires */ const { ipcRenderer, contextBridge } = require("electron"); contextBridge.exposeInMainWorld("electronBridge", { send: (channel, data) => { // 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) => { 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)); } }, });