0.1.0 • Published 7 years ago

electron-process-comms v0.1.0

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

electron-process-comms

an ipc based electron process communication interface

npm npm

installation

$ npm i electron-process-comms

Docs

import

import ProcessComms from 'electron-process-comms';

or

const ProcessComms = require('electron-process-comms');

Defining Actions

You can duplicate this in both the main and renderer processes

let processComms = new ProcessComms({
	actions: {
		init: () => {
			console.log('hello')
		},
		init2: ({ dispatch }) => {
			dispatch('init')
		},
		init3: ({ dispatch, dispatchExternal }, payload) => {
			console.log(payload)
			return 'init3'
		}
	}
})

or, register actions as needed like this:

let processComms = new ProcessComms();

processComms.registerAction('ACTION_NAME', ({ dispatch, dispatchExternal }, payload) => {
	...
});

Dispatching Actions in the Local Process (Main/Renderer)

local dispatch

processComms.dispatch('init')

Dispatching Actions in the External Process (Main)

processComms.dispatchExternal(targetBrowserWindow, 'init')

Dispatching Actions in the External Process (Renderer)

processComms.dispatchExternal('init')

Dispatching with Payloads

processComms.dispatch('init', PAYLOAD)

Accessing Returned Data

Each dispatch returns an instance of a promise.

processComms.dispatch('init').then((data) => {
	console.log(data) // returned from `init`
})

This also works for external dispatchers

processComms.dispatchExternal('init').then((data) => {
	console.log(data) // returned from `init`
})

Example

import ProcessComms from 'electron-process-comms';

const processComms = new ProcessComms({
	actions: {
		action1: () => {
			return 'action1';
		},
		action2: ({ dispatch }, payload) => {
			console.log(payload);
			return 'action2';
		}
	}
});

processComms.dispatch('action1');

processComms.dispatch('action2').then((data) => {
	console.log(data);
});
0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.1

7 years ago