about summary refs log tree commit diff
path: root/src/state/persisted/types.ts
blob: fd39079bf8807389443ca4cbb909c9abcdb160a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
import type {Schema} from './schema'

export type PersistedApi = {
  init(): Promise<void>
  get<K extends keyof Schema>(key: K): Schema[K]
  write<K extends keyof Schema>(key: K, value: Schema[K]): Promise<void>
  onUpdate<K extends keyof Schema>(
    key: K,
    cb: (v: Schema[K]) => void,
  ): () => void
  clearStorage: () => Promise<void>
}