Electron, jak skonfigurować PreLoad.js

// Preload.js setup example
const { contextBridge, ipcRenderer } = require("electron")

// Expose valid channels for ipc.render methods inside array
const ipc = {
    render: {
        send: [],
        receive: [],
        sendRecieve: [],
    }
};

contextBridge.exposeInMainWorld(
    "ipcRender", {
        // From render to main.
        send: (channel, args) => {
            let validChannels = ipc.render.send;
            if (validChannels.includes(channel)) {
                ipcRenderer.send(channel, args);
            }
        },
        // From main to render.
        receive: (channel, listener) => {
            let validChannels = ipc.render.receive;
            if (validChannels.includes(channel)) {
                ipcRenderer.on(channel, (event, args) => listener(args));
            }
        },
        // From render to main and back again.
        invoke: (channel, args) => {
            let validChannels = ipc.render.sendReceive;
            if (validChannels.includes(channel)) {
                return ipcRenderer.invoke(channel, args);
            }
        }
    }
);
WootKennziz