Merge branch 'master' into bugfix/upload-blob

This commit is contained in:
DarkSky
2023-02-02 21:37:55 +08:00
committed by GitHub
2 changed files with 6 additions and 2 deletions
@@ -1,8 +1,10 @@
import { createStore, keys, setMany, getMany, clear } from 'idb-keyval'; import { createStore, keys, setMany, getMany, clear } from 'idb-keyval';
import * as idb from 'lib0/indexeddb.js';
type IDBInstance<T = ArrayBufferLike> = { type IDBInstance<T = ArrayBufferLike> = {
keys: () => Promise<string[]>; keys: () => Promise<string[]>;
clear: () => Promise<void>; clear: () => Promise<void>;
deleteDB: () => Promise<void>;
setMany: (entries: [string, T][]) => Promise<void>; setMany: (entries: [string, T][]) => Promise<void>;
getMany: (keys: string[]) => Promise<T[]>; getMany: (keys: string[]) => Promise<T[]>;
}; };
@@ -16,6 +18,7 @@ export function getDatabase<T = ArrayBufferLike>(
return { return {
keys: () => keys(db), keys: () => keys(db),
clear: () => clear(db), clear: () => clear(db),
deleteDB: () => idb.deleteDB(name),
setMany: entries => setMany(entries, db), setMany: entries => setMany(entries, db),
getMany: keys => getMany(keys, db), getMany: keys => getMany(keys, db),
}; };
@@ -82,6 +82,7 @@ export const migrateBlobDB = async (
return [id, { id, blob }] as [string, PendingTask]; return [id, { id, blob }] as [string, PendingTask];
}); });
await newPendingDB.setMany(pendingEntries); await newPendingDB.setMany(pendingEntries);
oldDB.clear();
oldPendingDB.clear(); await oldDB.clear();
await oldPendingDB.clear();
}; };