electron-ipcrenderer-messageport

1.0.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i electron-ipcrenderer-messageport

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

15.8 kB

Total Files

10

Last publish

Collaborators

  • compulim