taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 53613a137df432878d62317e685bd1737dc6a6dc
parent d19aef746c1e67deaccc7c8cefba008f2f0d46ca
Author: Florian Dold <florian@dold.me>
Date:   Wed, 30 Aug 2023 16:08:51 +0200

-only store key if necessary

Diffstat:
Mpackages/taler-wallet-core/src/db.ts | 15+++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git 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(); } });