diff options
-rw-r--r-- | packages/taler-wallet-core/src/db.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index 2dbf5dade..ba5295dda 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -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(); } }); |