@lynker-desktop/electron-ipc
Version:
electron-ipc
42 lines (39 loc) • 1.61 kB
JavaScript
import { ipcRenderer, contextBridge } from 'electron';
import 'md5';
import '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] = ipcRenderer;
if (contextBridge) {
// This will fail if contextIsolation is not enabled
try {
// @ts-ignore
contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, {
...ipcRenderer,
emit: ipcRenderer.emit.bind(ipcRenderer),
prependListener: ipcRenderer.prependListener.bind(ipcRenderer),
prependOnceListener: ipcRenderer.prependOnceListener.bind(ipcRenderer),
once: ipcRenderer.once.bind(ipcRenderer),
on: ipcRenderer.on.bind(ipcRenderer),
off: ipcRenderer.off.bind(ipcRenderer),
send: ipcRenderer.send.bind(ipcRenderer),
sendSync: ipcRenderer.sendSync.bind(ipcRenderer),
sendToHost: ipcRenderer.sendToHost.bind(ipcRenderer),
invoke: ipcRenderer.invoke.bind(ipcRenderer),
addListener: ipcRenderer.addListener.bind(ipcRenderer),
removeAllListeners: ipcRenderer.removeAllListeners.bind(ipcRenderer),
removeListener: ipcRenderer.removeListener.bind(ipcRenderer),
});
}
catch (e) {
// console.error(e)
}
}
}
//# sourceMappingURL=index.js.map