1.0.0 • Published 6 years ago

electron-ipcrenderer-messageport v1.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

electron-ipcrenderer-messageport

npm version Build Status

Turns Electron IPCMain into MessagePort.

Background

Instead of learning/using different API for different communication channels, we should unite them into a single interface pattern, either MessagePort or WebSocket.

This package is expected to work in pair with electron-ipcmain-messageport.

How to use

const IPCRendererMessagePort = require('electron-ipcrenderer-messageport');
const { ipcRenderer } = require('electron');
const messagePort = new IPCRendererMessagePort(ipcRenderer, 'channel_name');

messagePort.onmessage = event => {
  // Could be either a string or Buffer
  console.log(event.data);
};

messagePort.postMessage('Hello, World!');

Note: to match the paradigm of MessagePort, we do not support synchronous messages and callbacks.

If you need to send to <webview> instead of host (i.e. sendToHost), you can set sendToHost to true.

const messagePort = new IPCRendererMessagePort(ipcRenderer, 'channel_name', { sendToHost: true });

Contributions

Like us? Star us.

Want to make it better? File us an issue.

Don't like something you see? Submit a pull request.