mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
22 lines
704 B
TypeScript
22 lines
704 B
TypeScript
import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron';
|
|
|
|
export type Channels = any;
|
|
|
|
contextBridge.exposeInMainWorld('electron', {
|
|
ipcRenderer: {
|
|
sendMessage(channel: Channels, args: unknown[]) {
|
|
ipcRenderer.send(channel, args);
|
|
},
|
|
on(channel: Channels, func: (...args: unknown[]) => void) {
|
|
const subscription = (_event: IpcRendererEvent, ...args: unknown[]) =>
|
|
func(...args);
|
|
ipcRenderer.on(channel, subscription);
|
|
|
|
return () => ipcRenderer.removeListener(channel, subscription);
|
|
},
|
|
once(channel: Channels, func: (...args: unknown[]) => void) {
|
|
ipcRenderer.once(channel, (_event, ...args) => func(...args));
|
|
},
|
|
},
|
|
});
|