import ElectronStore from 'electron-store'; import { app } from 'electron'; const STORE_KEY_STARTUPHIDEWINDOW = 'options.startupHideWindow'; const STORE_KEY_DOWNLOADFOLDER = 'options.downloadPath'; export class Storage { private readonly store: ElectronStore; constructor() { this.store = new ElectronStore({ schema: { options: { type: 'object', properties: { startupHideWindow: { type: 'boolean' }, downloadPath: { type: 'string' } }, default: { startupHideWindow: false, downloadPath: app.getPath('downloads') } } }, encryptionKey: 'ucap', fileExtension: 'dat' }); } get startupHideWindow(): boolean { return this.store.get(STORE_KEY_STARTUPHIDEWINDOW, false); } set startupHideWindow(startupHideWindow: boolean) { this.store.set(STORE_KEY_STARTUPHIDEWINDOW, startupHideWindow); } get downloadPath(): string { return this.store.get(STORE_KEY_DOWNLOADFOLDER, false); } set downloadPath(downloadPath: string) { this.store.set(STORE_KEY_DOWNLOADFOLDER, downloadPath); } }