Просмотр исходного кода

feature: add new clear() method

Ryan Chandler 4 лет назад
Родитель
Сommit
e5cfceb0b9
7 измененных файлов с 8 добавлено и 0 удалено
  1. 0 0
      dist/spruce.js
  2. 0 0
      dist/spruce.js.map
  3. 0 0
      dist/spruce.module.js
  4. 0 0
      dist/spruce.module.js.map
  5. 0 0
      dist/spruce.umd.js
  6. 0 0
      dist/spruce.umd.js.map
  7. 8 0
      src/index.js

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.module.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.module.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.umd.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/spruce.umd.js.map


+ 8 - 0
src/index.js

@@ -180,6 +180,10 @@ const Spruce = {
         return this.set(name, ! this.get(name))
         return this.set(name, ! this.get(name))
     },
     },
 
 
+    clear(name) {
+        return this.persistenceDriver.removeItem(`__spruce:${name}`)
+    },
+
     watch(name, callback) {
     watch(name, callback) {
         if (! this.hasStarted) {
         if (! this.hasStarted) {
             this.watchers[name] || (this.watchers[name] = [])
             this.watchers[name] || (this.watchers[name] = [])
@@ -250,6 +254,10 @@ const Spruce = {
             throw new Error('[Spruce] The persistence driver must have a `setItem(key, value)` method.')
             throw new Error('[Spruce] The persistence driver must have a `setItem(key, value)` method.')
         }
         }
 
 
+        if (typeof driver.removeItem !== 'function') {
+            throw new Error('[Spruce] The persistence driver must have a `removeItem(name)` method.')
+        }
+
         this.persistenceDriver = driver
         this.persistenceDriver = driver
     }
     }
 }
 }

Некоторые файлы не были показаны из-за большого количества измененных файлов