@lynker-desktop/electron-ipc
Version:
electron-ipc
42 lines (39 loc) • 1.86 kB
JavaScript
const electron = require('electron');
require('md5');
require('uuid');
const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;
// @ts-ignore
if (window[WINDOWL_GLOBAL_KEY]) {
// eslint-disable-next-line no-console
console.log('electron-ipc Electron preload has already been run');
}
else {
// @ts-ignore
window[WINDOWL_GLOBAL_KEY] = electron.ipcRenderer;
if (electron.contextBridge) {
// This will fail if contextIsolation is not enabled
try {
// @ts-ignore
electron.contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {
...electron.ipcRenderer,
emit: electron.ipcRenderer.emit.bind(electron.ipcRenderer),
prependListener: electron.ipcRenderer.prependListener.bind(electron.ipcRenderer),
prependOnceListener: electron.ipcRenderer.prependOnceListener.bind(electron.ipcRenderer),
once: electron.ipcRenderer.once.bind(electron.ipcRenderer),
on: electron.ipcRenderer.on.bind(electron.ipcRenderer),
off: electron.ipcRenderer.off.bind(electron.ipcRenderer),
send: electron.ipcRenderer.send.bind(electron.ipcRenderer),
sendSync: electron.ipcRenderer.sendSync.bind(electron.ipcRenderer),
sendToHost: electron.ipcRenderer.sendToHost.bind(electron.ipcRenderer),
invoke: electron.ipcRenderer.invoke.bind(electron.ipcRenderer),
addListener: electron.ipcRenderer.addListener.bind(electron.ipcRenderer),
removeAllListeners: electron.ipcRenderer.removeAllListeners.bind(electron.ipcRenderer),
removeListener: electron.ipcRenderer.removeListener.bind(electron.ipcRenderer),
});
}
catch (e) {
// console.error(e)
}
}
}
//# sourceMappingURL=index.js.map