26 lines
619 B
TypeScript
26 lines
619 B
TypeScript
import { Handler, RequestHandler } from '@janhq/core/node'
|
|
import { ipcMain } from 'electron'
|
|
import { WindowManager } from '../managers/window'
|
|
|
|
export function injectHandler() {
|
|
const ipcWrapper: Handler = (
|
|
route: string,
|
|
listener: (...args: any[]) => any
|
|
) => {
|
|
return ipcMain.handle(route, async (event, ...args: any[]) => {
|
|
return listener(...args)
|
|
})
|
|
}
|
|
|
|
const handler = new RequestHandler(
|
|
ipcWrapper,
|
|
(channel: string, args: any) => {
|
|
return WindowManager.instance.currentWindow?.webContents.send(
|
|
channel,
|
|
args
|
|
)
|
|
}
|
|
)
|
|
handler.handle()
|
|
}
|