"use strict"; const electron_1 = require("electron"); let electronSocket; module.exports = (socket) => { electronSocket = socket; socket.on('registerIpcMainChannel', (channel) => { electron_1.ipcMain.on(channel, (event, args) => { electronSocket.emit(channel, [event.preventDefault(), args]); }); }); socket.on('registerSyncIpcMainChannel', (channel) => { electron_1.ipcMain.on(channel, (event, args) => { const x = socket; x.removeAllListeners(channel + 'Sync'); socket.on(channel + 'Sync', (result) => { event.returnValue = result; }); electronSocket.emit(channel, [event.preventDefault(), args]); }); }); socket.on('registerOnceIpcMainChannel', (channel) => { electron_1.ipcMain.once(channel, (event, args) => { electronSocket.emit(channel, [event.preventDefault(), args]); }); }); socket.on('removeAllListenersIpcMainChannel', (channel) => { electron_1.ipcMain.removeAllListeners(channel); }); socket.on('sendToIpcRenderer', (browserWindow, channel, ...data) => { const window = electron_1.BrowserWindow.fromId(browserWindow.id); if (window) { window.webContents.send(channel, ...data); } }); }; //# sourceMappingURL=ipc.js.map