Add support remove / clear for chrome.storage
authorJhen <developer@jhen.me>
Thu, 10 Nov 2016 03:34:46 +0000 (11:34 +0800)
committerJhen <developer@jhen.me>
Fri, 11 Nov 2016 18:16:51 +0000 (02:16 +0800)
lib/renderer/extensions/storage.js

index af3978e..d1a8d88 100644 (file)
@@ -57,6 +57,27 @@ const getStorageManager = (storageType) => {
       setStorage(storageType, storage)
 
       setTimeout(callback)
+    },
+
+    remove (keys, callback) {
+      const storage = getStorage(storageType)
+
+      if (!Array.isArray(keys)) {
+        keys = [keys]
+      }
+      keys.forEach(function (key) {
+        delete storage[key]
+      })
+
+      setStorage(storageType, storage)
+
+      setTimeout(callback)
+    },
+
+    clear (callback) {
+      setStorage(storageType, {})
+
+      setTimeout(callback)
     }
   }
 }