Bläddra i källkod

fix: check typeof driver methods

Ryan Chandler 4 år sedan
förälder
incheckning
705774c706
7 ändrade filer med 6 tillägg och 2 borttagningar
  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. 6 2
      src/index.js

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.module.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.module.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.umd.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/spruce.umd.js.map


+ 6 - 2
src/index.js

@@ -139,11 +139,15 @@ const Spruce = {
     },
     },
 
 
     persistUsing(driver) {
     persistUsing(driver) {
-        if (driver.getItem === undefined) {
+        if (this.persisted.length > 0) {
+            console.warn('[Spruce] You have already initialised a persisted store. Changing the driver may cause issues.')
+        }
+
+        if (typeof driver.getItem !== 'function') {
             throw new Error('[Spruce] The persistence driver must have a `getItem(key)` method.')
             throw new Error('[Spruce] The persistence driver must have a `getItem(key)` method.')
         }
         }
 
 
-        if (driver.setItem === undefined) {
+        if (typeof driver.setItem !== 'function') {
             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.')
         }
         }
 
 

Vissa filer visades inte eftersom för många filer har ändrats