소스 검색

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

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.