浏览代码

fix: check typeof driver methods

Ryan Chandler 4 年之前
父节点
当前提交
705774c706
共有 7 个文件被更改,包括 6 次插入2 次删除
  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

文件差异内容过多而无法显示
+ 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


+ 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.')
         }
 

部分文件因为文件数量过多而无法显示