Skip to content

Commit

Permalink
feat(main): provide preferences
Browse files Browse the repository at this point in the history
  • Loading branch information
antonreshetov committed Mar 29, 2022
1 parent c75e09d commit 9520dc9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
4 changes: 4 additions & 0 deletions src/main/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ contextBridge.exposeInMainWorld('electron', {
app: {
get: name => store.app.get(name),
set: (name, value) => store.app.set(name, value)
},
preferences: {
get: name => store.preferences.get(name),
set: (name, value) => store.preferences.set(name, value)
}
},
db: {
Expand Down
18 changes: 15 additions & 3 deletions src/main/types/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
import type { IpcRendererEvent } from 'electron'
import type { AppStoreSchema } from '../store/module/app'
import type { AppStore, PreferencesStore } from '../store/module/types'
import type { DB, Folder, Tag, Snippet } from './db'

interface EventCallback {
(event?: IpcRendererEvent, ...args: any[]): void
}

interface StoreGet<T> {
(name: keyof T): string
}

interface StoreSet<T> {
(name: keyof T, value: any): void
}

export interface ElectronBridge {
ipc: {
on: (channel: string, cb: EventCallback) => void
Expand All @@ -15,8 +23,12 @@ export interface ElectronBridge {
}
store: {
app: {
get: (name: keyof AppStoreSchema) => string
set: (name: keyof AppStoreSchema, value: any) => void
get: StoreGet<AppStore>
set: StoreSet<AppStore>
}
preferences: {
get: StoreGet<PreferencesStore>
set: StoreSet<PreferencesStore>
}
}
db: {
Expand Down

0 comments on commit 9520dc9

Please sign in to comment.