const { ipcRenderer, contextBridge } = require('electron'); const keytar = require('keytar'); contextBridge.exposeInMainWorld('api', { settings: { has (setting) { return ipcRenderer.invoke('settings', 'has', setting); }, set (setting, value) { return ipcRenderer.invoke('settings', 'set', setting, value); }, unset (setting) { return ipcRenderer.invoke('settings', 'unset', setting); }, get (setting) { return ipcRenderer.invoke('settings', 'get', setting); } }, trayService: { showEnvelope () { return ipcRenderer.invoke('trayService', 'showEnvelope'); }, hideEnvelope () { return ipcRenderer.invoke('trayService', 'hideEnvelope'); } }, keytar: { getPassword (service, login) { return keytar.getPassword(service, login); }, setPassword (service, login, password) { return keytar.setPassword(service, login, password); }, deletePassword (service, login) { return keytar.deletePassword(service, login); } }, app: { quit () { ipcRenderer.send('app-quit'); } } });