import { contextBridge, ipcRenderer } from "electron"; const api = { pluginManagerCall: (method, ...args) => ipcRenderer.invoke( "pluginManager:call", method, ...args.length ? args : [] ), configManagerCall: (method, ...args) => ipcRenderer.invoke( "configManager:call", method, ...args.length ? args : [] ), adapterCall: (method, ...args) => ipcRenderer.invoke( "adapter:call", method, ...args.length ? args : [] ), openNoteWindow: (noteId) => { ipcRenderer.send("open-note-window", noteId); }, onNoteCreated: (callback) => { ipcRenderer.on("note-created", (_, data) => callback(data)); }, onNoteUpdated: (callback) => { ipcRenderer.on("note-updated", (_, data) => callback(data)); }, onNoteDeleted: (callback) => { ipcRenderer.on("note-deleted", (_, data) => callback(data)); }, onPluginChanged: (callback) => { ipcRenderer.on("plugin-changed", (_, data) => callback(data)); }, notifyNoteChanged: (event, data) => { ipcRenderer.send("note-changed", event, data); }, moveOpened: () => { ipcRenderer.invoke("move-opened"); }, moveClosed: () => { ipcRenderer.invoke("move-closed"); } }; if (process.contextIsolated) { try { contextBridge.exposeInMainWorld("api", api); } catch (error) { console.error(error); } } else { window.api = api; }