33 lines
899 B
JavaScript
33 lines
899 B
JavaScript
const { ipcRenderer, contextBridge } = require("electron");
|
|
|
|
function useFacade() {
|
|
const interfaces = {
|
|
install(plugins) {
|
|
return ipcRenderer.invoke("pluggable:install", plugins);
|
|
},
|
|
uninstall(plugins, reload) {
|
|
return ipcRenderer.invoke("pluggable:uninstall", plugins, reload);
|
|
},
|
|
getActive() {
|
|
return ipcRenderer.invoke("pluggable:getActivePlugins");
|
|
},
|
|
update(plugins, reload) {
|
|
return ipcRenderer.invoke("pluggable:update", plugins, reload);
|
|
},
|
|
updatesAvailable(plugin) {
|
|
return ipcRenderer.invoke("pluggable:updatesAvailable", plugin);
|
|
},
|
|
toggleActive(plugin, active) {
|
|
return ipcRenderer.invoke("pluggable:togglePluginActive", plugin, active);
|
|
},
|
|
};
|
|
|
|
if (contextBridge) {
|
|
contextBridge.exposeInMainWorld("pluggableElectronIpc", interfaces);
|
|
}
|
|
|
|
return interfaces;
|
|
}
|
|
|
|
module.exports = useFacade;
|