@lynker-desktop/electron-window-manager
Version:
electron-window-manager
44 lines (42 loc) • 1.7 kB
JavaScript
import { ipcRenderer, contextBridge } from 'electron';
import remote from '@electron/remote';
import '@lynker-desktop/electron-ipc/preload';
// @ts-ignore
if (window.__ELECTRON_WINDOW_MANAGER__) {
// eslint-disable-next-line no-console
console.log('electron-window-manager Electron preload has already been run');
}
else {
const config = {
ipcRenderer: {
...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),
sendTo: ipcRenderer.sendTo.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),
},
remote,
};
// @ts-ignore
window.__ELECTRON_WINDOW_MANAGER__ = config;
if (contextBridge) {
// This will fail if contextIsolation is not enabled
try {
contextBridge.exposeInMainWorld('__ELECTRON_WINDOW_MANAGER__', config);
}
catch (e) {
// console.error(e)
}
}
}
//# sourceMappingURL=index.js.map