From 53613a137df432878d62317e685bd1737dc6a6dc Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 30 Aug 2023 16:08:51 +0200 Subject: -only store key if necessary --- packages/taler-wallet-core/src/db.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'packages/taler-wallet-core') 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 { 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(); } }); -- cgit v1.2.3