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
TypeScript
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;
};