DNDGamePlayer: Electron редактор сцен, презентация, упаковка electron-builder
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { contextBridge } from 'electron';
|
||||
|
||||
import type { IpcEventMap, IpcInvokeMap } from '../shared/ipc/contracts';
|
||||
|
||||
import { invoke, on } from './ipcClient';
|
||||
|
||||
export type DndApi = {
|
||||
invoke: <K extends keyof IpcInvokeMap>(
|
||||
channel: K,
|
||||
payload: IpcInvokeMap[K]['req'],
|
||||
) => Promise<IpcInvokeMap[K]['res']>;
|
||||
on: <K extends keyof IpcEventMap>(channel: K, listener: (payload: IpcEventMap[K]) => void) => () => void;
|
||||
};
|
||||
|
||||
const api: DndApi = { invoke, on };
|
||||
|
||||
contextBridge.exposeInMainWorld('dnd', api);
|
||||
|
||||
declare global {
|
||||
var dnd: DndApi | undefined;
|
||||
interface Window {
|
||||
dnd: DndApi;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user