INNER CODE UNIT · TypeScript
invokeDesktop
BradGroux/veritas-kanban · desktop/src/preload/index.ts:118
function invokeDesktop<ReturnValue>(channel: string, request?: unknown): Promise<ReturnValue> {
return ipcRenderer.invoke(channel, request) as Promise<ReturnValue>;
}
function onDesktopEvent<Event extends DesktopBridgeEvent>(
event: Event,
listener: BridgeEventListener<Event>
): () => void {
const channel = DESKTOP_BRIDGE_EVENTS[event].channel;
const handler = (
_event: Electron.IpcRendererEvent,
payload: DesktopBridgeEventPayload<Event>
): void => {
listener(payload);
};
ipcRenderer.on(channel, handler);
return createDesktopBridgeEventCleanup(channel, handler, (eventChannel, eventHandler) => {
ipcRenderer.off(eventChannel, eventHandler);