From 48fcd45d7d3f364fadddda6daf15f626cdaa387a Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Mon, 28 Dec 2015 18:29:48 +0900 Subject: [PATCH] debug on saving data & error throw if dataStore get wrong data --- browser/lib/dataStore.js | 2 ++ browser/main/reducer.js | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/browser/lib/dataStore.js b/browser/lib/dataStore.js index b1121b58..48d00a27 100644 --- a/browser/lib/dataStore.js +++ b/browser/lib/dataStore.js @@ -110,12 +110,14 @@ export function getData () { } export function setArticles (articles) { + if (!_.isArray(articles)) throw new Error('Articles must be an array') let data = getData() data.articles = articles jetpack.write(getLocalPath(), data) } export function setFolders (folders) { + if (!_.isArray(folders)) throw new Error('Folders must be an array') let data = getData() data.folders = folders jetpack.write(getLocalPath(), data) diff --git a/browser/main/reducer.js b/browser/main/reducer.js index a1750996..b1f98d51 100644 --- a/browser/main/reducer.js +++ b/browser/main/reducer.js @@ -226,16 +226,16 @@ function articles (state = initialArticles, action) { let modifiedIndex = _.findIndex(state.modified, _article => articleKey === _article.key) if (modifiedIndex >= 0) state.modified.splice(modifiedIndex, 1) - dataStore.setArticles(state) + dataStore.setArticles(state.data) return state } case FOLDER_DESTROY: { let folderKey = action.data.key - state = state.filter(article => article.FolderKey !== folderKey) + state.data = state.data.filter(article => article.FolderKey !== folderKey) - dataStore.setArticles(state) + dataStore.setArticles(state.data) return state } default: