ipc-bridge-client

ipc-bridge-client

This is a client library inteaded to be used as a wrapper around Electron's IPC Renderer. This is ment to be used in conjuction with ipc-bridge-server (main process).

Installation

$ npm install @jeffriggle/ipc-bridge-client

Usage

Ensuring that the ipc renderer is available

One of the goals of this library is to allow for a page to optionally have the ipc renderer. In order to do this the ipc-bridge-client has an available property to let you know when/if the renderer process is available.

What this can cause in normal cases is a delay between page load and the ipc renderer being available for use. In order to account for this the ipc-bridge-client provides an event to let you know when the service has become available.

Checking availability

let {client} = require('@jeffriggle/ipc-bridge-client');

if (client.available) {
    // Some logic here to interact with client
}

Waiting for availability

let {client} = require('@jeffriggle/ipc-bridge-client');

if (client.available) {
    // Some logic here to interact with client
} else {
    client.on(client.availableChanged, (available) => {
        if (available) {
            // Some logic here to interact with client.
        }
    });
}

Sending message to main process

let {client} = require('@jeffriggle/ipc-bridge-client');

let data = 'any data you want to send';
client.sendMessage('customizablemessage', data).then(() => {
    // Logic for when request passes
}).catch((err) => {
    // Logic for when request failed
});

Subscribing to messages from the main process

let {client} = require('@jeffriggle/ipc-bridge-client');

client.subscribeEvent('customizablemessage', () => {
    // Logic for when message comes from main process
});

Example

Some simple examples of this can be found at ipc-bridge

Licence

ipc-bridge-client is released under MIT