aboutsummaryrefslogtreecommitdiff
path: root/persistence/client.ts
blob: 7e2468b5cf4b70c6d2f9681ff276e5a2bf0f2004 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { HollowdarkUserData } from '@hollowdark/persistence/db'

let userData: HollowdarkUserData | null = null

/**
 * The shared `HollowdarkUserData` Dexie client. Lazily constructed on
 * first access so pure unit tests that never touch persistence do not
 * open an IndexedDB connection. Repositories should import this helper
 * rather than instantiating `HollowdarkUserData` themselves.
 */
export function userDataDb(): HollowdarkUserData {
  if (userData === null) {
    userData = new HollowdarkUserData()
  }
  return userData
}