0.2.2 • Published 2 years ago

ipc-shell v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

IPC Shell

Vea la página para más información.

Es una envoltura para objetos que realizan la comunicación entre procesos, en el estado inicial, está configurado para funcionar con los IPC de electron, este comportamiento puede cambiar sobreescribiendo las funciones _getArgsFromOn e _ipcNodeSend.

Como usar

Importe IPCNodeRegister y registre el IPC:

import { ipcMain } from "electron";
import { IPCNodeRegister } from "ipc-shell"

const ipc = IPCNodeRegister.register("main", ipcMain)

Nota: se usará IpcMain como el tipo de IPC, si fuera para el ipcRenderer debería usar IpcRenderer, para el ipc de win.webContents debería usar WebContents, hablando en términos de electronjs, en general usar la clase del IPC que registra.

Note que ahora ipc fue extendido. Colocando el tipo sería de la siguiente forma (por la inferencia de tipos lo de arriba está bien):

import { IpcMain, ipcMain } from "electron";
import { IPCNode, IPCNodeRegister } from "ipc-shell"

const ipc: IPCNode<IpcMain> = IPCNodeRegister.register("main", ipcMain)

A partir de ahora puede acceder en el mismo proceso a este IPC mediante su nombre:

// somewhere else

import { IpcMain } from "electron";
import { IPCNodeRegister } from "ipc-shell"

// using generic type (recommended)
const ipc = IPCNodeRegister.get<IpcMain>("main");

// using IPCNode type (import from ipc-shell)
const ipc: IPCNode<IpcMain> = IPCNodeRegister.get("main");

El hecho de que se agregue IpcMain es para que pueda seguir utilizando todos lo métodos y variables que este contenga más los extras, si no agrega el tipo únicamente podrá usar los de IPCNode.

Disclaimer

  • This package use Object.assign().
  • All in the IPCBaseNode interface is overwritten when it extends.
0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.0.1

2 years ago

0.1.0

2 years ago