-only store key if necessary

This commit is contained in:
Florian Dold 2023-08-30 16:08:51 +02:00
parent d19aef746c
commit 53613a137d
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B

View File

@ -2772,8 +2772,10 @@ export const walletMetadataStore = {
export interface DbDumpRecord {
/**
* Key, serialized with structuredEncapsulated.
*
* Only present for out-of-line keys (i.e. no key path).
*/
key: any;
key?: any;
/**
* Value, serialized with structuredEncapsulated.
*/
@ -2844,10 +2846,15 @@ export function exportDb(db: IDBDatabase): Promise<DbDump> {
store.openCursor().addEventListener("success", (e: Event) => {
const cursor = (e.target as any).result;
if (cursor) {
storeDump.records.push({
key: structuredEncapsulate(cursor.key),
const rec: DbDumpRecord = {
value: structuredEncapsulate(cursor.value),
});
};
// Only store key if necessary, i.e. when
// the key is not stored as part of the object via
// a key path.
if (store.keyPath == null) {
rec.key = structuredEncapsulate(cursor.key);
}
cursor.continue();
}
});