1.0.0 • Published 6 years ago

electron-ipcp v1.0.0

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

electron-ipcp

Easier asynchronous communication on top of Electron ipc communication using promises.

ipc + promise => ipc + p => ipcp.

Problem being solved

Sometimes you just need to ask something to the main process and wait for the response.
electron-ipcp makes this task easier.

Usage

In renderer process

import {ipcpRenderer} from 'electron-ipcp'

// async/await style
async function askSomethingToMain () {
  const sumFromMain = await ipcpRenderer.sendMain('sumInMain', 1, 2)
}

// or promise style
function askSomethingToMain () {
  ipcpRenderer.sendMain('sumInMain', 1, 2)
    .then((sumFromMain) => { })
}

In main process

const {ipcpMain} = require('electron-ipcp')

ipcpMain.on('sumInMain', (event, a, b) => {
  event.respond(a + b)
})

How it works

A randomly named communication channel is created and the module provides a respond method that use the same channel.

If you need to access the original electron event, it is available.

event = {
  respond, //method to respond to renderer
  originalEvent, // the original electron event
}