ipc-renderer-bindings.ts 532 B

1234567891011121314151617
  1. let ipc: NodeJS.IpcRendererImpl | undefined;
  2. /**
  3. * Get IPCRenderer implementation for the current process.
  4. */
  5. export function getIPCRenderer () {
  6. if (ipc) return ipc;
  7. const ipcBinding = process._linkedBinding('electron_renderer_ipc');
  8. switch (process.type) {
  9. case 'renderer':
  10. return (ipc = ipcBinding.createForRenderFrame());
  11. case 'service-worker':
  12. return (ipc = ipcBinding.createForServiceWorker());
  13. default:
  14. throw new Error(`Cannot create IPCRenderer for '${process.type}' process`);
  15. }
  16. };