gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 02/05: improve error messages


From: gnunet
Subject: [taler-wallet-core] 02/05: improve error messages
Date: Thu, 21 Nov 2019 23:10:01 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

commit 5b43bd857c6eb623ff93468046d8bc08226d9ca0
Author: Florian Dold <address@hidden>
AuthorDate: Thu Nov 21 11:15:42 2019 +0100

    improve error messages
---
 packages/idb-bridge/package.json         |  2 +-
 packages/idb-bridge/src/MemoryBackend.ts | 36 +++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/packages/idb-bridge/package.json b/packages/idb-bridge/package.json
index 3010f1f0..19c28245 100644
--- a/packages/idb-bridge/package.json
+++ b/packages/idb-bridge/package.json
@@ -1,6 +1,6 @@
 {
   "name": "idb-bridge",
-  "version": "0.0.12",
+  "version": "0.0.13",
   "description": "IndexedDB implementation that uses SQLite3 as storage",
   "main": "./build/index.js",
   "types": "./build/index.d.ts",
diff --git a/packages/idb-bridge/src/MemoryBackend.ts 
b/packages/idb-bridge/src/MemoryBackend.ts
index b19c25cf..792ae4cd 100644
--- a/packages/idb-bridge/src/MemoryBackend.ts
+++ b/packages/idb-bridge/src/MemoryBackend.ts
@@ -1329,14 +1329,36 @@ export class MemoryBackend implements Backend {
       key = storeReq.key;
       value = storeReq.value;
     } else {
-      const storeKeyResult: StoreKeyResult = makeStoreKeyValue(
-        storeReq.value,
-        storeReq.key,
+      const keygen =
         objectStoreMapEntry.store.modifiedKeyGenerator ||
-          objectStoreMapEntry.store.originalKeyGenerator,
-        schema.objectStores[storeReq.objectStoreName].autoIncrement,
-        schema.objectStores[storeReq.objectStoreName].keyPath,
-      );
+        objectStoreMapEntry.store.originalKeyGenerator;
+      const autoIncrement =
+        schema.objectStores[storeReq.objectStoreName].autoIncrement;
+      const keyPath = schema.objectStores[storeReq.objectStoreName].keyPath;
+      let storeKeyResult: StoreKeyResult;
+      try {
+        storeKeyResult = makeStoreKeyValue(
+          storeReq.value,
+          storeReq.key,
+          keygen,
+          autoIncrement,
+          keyPath,
+        );
+      } catch (e) {
+        if (e instanceof DataError) {
+          const kp = JSON.stringify(keyPath);
+          const n = storeReq.objectStoreName;
+          const m = `Could not extract key from value, objectStore=${n}, 
keyPath=${kp}`;
+          if (this.enableTracing) {
+            console.error(e);
+            console.error("value was:", storeReq.value);
+            console.error("key was:", storeReq.key);
+          }
+          throw new DataError(m);
+        } else  {
+          throw e;
+        }
+      }
       key = storeKeyResult.key;
       value = storeKeyResult.value;
       objectStoreMapEntry.store.modifiedKeyGenerator =

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]