aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/taler-wallet-core/src/db.ts15
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();
}
});