()
| 144 | |
| 145 | /** Get or lazily open the local database (readany_local.db) */ |
| 146 | export async function getLocalDB(): Promise<IDatabase> { |
| 147 | if (localDb) return localDb; |
| 148 | |
| 149 | if (!localDbLoadPromise) { |
| 150 | localDbLoadPromise = (async () => { |
| 151 | const platform = getPlatformService(); |
| 152 | const loadedDb = await platform.loadDatabase(await getDatabaseLocation(LOCAL_DB_FILENAME)); |
| 153 | await configureDatabaseConnection(loadedDb); |
| 154 | localDb = loadedDb; |
| 155 | return loadedDb; |
| 156 | })().finally(() => { |
| 157 | localDbLoadPromise = null; |
| 158 | }); |
| 159 | } |
| 160 | |
| 161 | return localDbLoadPromise; |
| 162 | } |
| 163 | |
| 164 | /** Close the active database connection and clear cache */ |
| 165 | export async function closeDB(): Promise<void> { |
no test coverage detected