Files
kiosco_desk/main/preload.ts
T

26 lines
672 B
TypeScript
Raw Normal View History

2025-10-17 18:56:19 -06:00
import { contextBridge, ipcRenderer, IpcRendererEvent } from "electron";
2024-02-07 13:13:07 -06:00
const handler = {
send(channel: string, value: unknown) {
2025-10-17 18:56:19 -06:00
ipcRenderer.send(channel, value);
2024-02-07 13:13:07 -06:00
},
2025-10-17 18:56:19 -06:00
async invoke(channel: string, value: unknown) {
return ipcRenderer.invoke(channel, value);
},
2024-02-07 13:13:07 -06:00
on(channel: string, callback: (...args: unknown[]) => void) {
const subscription = (_event: IpcRendererEvent, ...args: unknown[]) =>
2025-10-17 18:56:19 -06:00
callback(...args);
ipcRenderer.on(channel, subscription);
2024-02-07 13:13:07 -06:00
return () => {
2025-10-17 18:56:19 -06:00
ipcRenderer.removeListener(channel, subscription);
};
2024-02-07 13:13:07 -06:00
},
2025-10-17 18:56:19 -06:00
};
2024-02-07 13:13:07 -06:00
2025-10-17 18:56:19 -06:00
contextBridge.exposeInMainWorld("ipc", handler);
2024-02-07 13:13:07 -06:00
2025-10-17 18:56:19 -06:00
export type IpcHandler = typeof handler;