electron-path-ipc
v0.0.10
Published
Express style path for Electron IPC
Downloads
5
Readme
electron-path-ipc
Installation
# with npm
$ npm install electron-path-ipc
# with yarn
$ yarn add electron-path-ipc
Usage
By default, the main process send a request to all renderer process.
// main process
import {ipcMain} from 'electron-path-ipc';
ipcMain.on(':identifier/action', (headers,...args)=>{
console.log(headers.params); // {identifier: 'my-identifier'}
console.log(args); // ['hello world']
})
// renderer process
import {ipcRenderer} from 'electron-path-ipc';
ipcRenderer.send('my-identifier/action', 'hello world');
You can use invoke/handle in both main and renderer process.
// main process
import {ipcMain} from 'electron-path-ipc';
ipcMain.handle(':identifier/action', (headers, arg) => {
console.log(headers.params); // { identifier: 'my-identifier' }
return `${arg} world !`
})
// renderer process
import {ipcRenderer} from 'electron-path-ipc';
ipcRenderer.invoke('my-identifier/action', 'hello')
.then(console.log) // 'hello world'
You can use prefix to simplify yours requests
// main process
const prefixedIpc = ipcMain.prefix('test/').prefix('test2/');
prefixedIpc.handle(':identifier/action', (headers, arg) => {
return `${arg} world !`
})
// is the equivalent of
ipcMain.handle('test/test2/:identifier/action', (headers, arg) => {
return `${arg} world !`
})