Browse Source

fix: check typeof driver methods

Ryan Chandler 4 years ago
parent
commit
705774c706
7 changed files with 6 additions and 2 deletions
  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

File diff suppressed because it is too large
+ 0 - 0
dist/spruce.js


File diff suppressed because it is too large
+ 0 - 0
dist/spruce.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/spruce.module.js


File diff suppressed because it is too large
+ 0 - 0
dist/spruce.module.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/spruce.umd.js


File diff suppressed because it is too large
+ 0 - 0
dist/spruce.umd.js.map


+ 6 - 2
src/index.js

@@ -139,11 +139,15 @@ const Spruce = {
     },
 
     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.')
         }
 
-        if (driver.setItem === undefined) {
+        if (typeof driver.setItem !== 'function') {
             throw new Error('[Spruce] The persistence driver must have a `setItem(key, value)` method.')
         }
 

Some files were not shown because too many files changed in this diff