about summary refs log tree commit diff
path: root/src/state/persisted/types.ts
blob: d1fdfc26cb83822221b228ae34966a780b311ebb (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>
}