import { ShortcutRecord } from 'common/shortcuts'; import { ipcRenderer, OpenDialogOptions, OpenDialogReturnValue } from 'electron'; import { unproxify } from '../libs/unproxify'; export default class { static showOpenDialog (options: OpenDialogOptions): Promise { return ipcRenderer.invoke('show-open-dialog', unproxify(options)); } static showSaveDialog (options: OpenDialogOptions): Promise { return ipcRenderer.invoke('show-save-dialog', unproxify(options)); } static getDownloadPathDirectory (): Promise { return ipcRenderer.invoke('get-download-dir-path'); } static reloadShortcuts () { return ipcRenderer.invoke('reload-shortcuts'); } static updateShortcuts (shortcuts: ShortcutRecord[]) { return ipcRenderer.invoke('update-shortcuts', unproxify(shortcuts)); } static restoreDefaultShortcuts () { return ipcRenderer.invoke('resotre-default-shortcuts'); } static unregisterShortcuts () { return ipcRenderer.invoke('unregister-shortcuts'); } static readFile (path: string): Promise { return ipcRenderer.invoke('read-file', path); } static writeFile (path: string, content: unknown) { return ipcRenderer.invoke('write-file', path, content); } }