UNPKG

electron-ipc-typesafe

Version:

A type-safe IPC (Inter-Process Communication) library for Electron applications with flexible handler registration

10 lines (9 loc) 665 B
import type { IpcMain, IpcRenderer } from 'electron'; import type { IpcHandlerSchemas, SchemaToHandler, TransformSchemasToInvokers } from './types'; export declare function createIpcHandlers<THandlerSchemas extends IpcHandlerSchemas>(apiKey: string, handlers: THandlerSchemas): { registerHandler: <K extends keyof THandlerSchemas>(channel: K, handler: SchemaToHandler<THandlerSchemas[K]>) => () => void; registerMainHandlers: (ipcMain: IpcMain) => void; registerInvokers: (ipcRenderer: IpcRenderer) => any; getInvokeObject: () => TransformSchemasToInvokers<THandlerSchemas>; getExposeInPreloadHandlersPart: (ipcRenderer: IpcRenderer) => any; };