diff options
| author | lambadalambda <gitgud@rogerbraun.net> | 2017-03-08 15:17:59 -0500 |
|---|---|---|
| committer | lambadalambda <gitgud@rogerbraun.net> | 2017-03-08 15:17:59 -0500 |
| commit | 5997492795d5cf2d0f575c65e87991348297cdf6 (patch) | |
| tree | b476bc166f7a5e90981ff236ebcd92a592dd000a /src/lib | |
| parent | ccbfc64bfcaf5efd598af6987e304291e23def1c (diff) | |
| parent | 0d39ed809b17dc7a3304f9a659c3d5e99d960f26 (diff) | |
Merge branch 'feature/performance' into 'develop'
Feature/performance
See merge request !50
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/persisted_state.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/persisted_state.js b/src/lib/persisted_state.js index a518cb51..a47ad7d5 100644 --- a/src/lib/persisted_state.js +++ b/src/lib/persisted_state.js @@ -1,7 +1,7 @@ import merge from 'lodash.merge' import objectPath from 'object-path' import localforage from 'localforage' -import { throttle } from 'lodash' +import { throttle, each } from 'lodash' const defaultReducer = (state, paths) => ( paths.length === 0 ? state : paths.reduce((substate, path) => { @@ -33,6 +33,13 @@ export default function createPersistedState ({ return store => { getState(key, storage).then((savedState) => { if (typeof savedState === 'object') { + // build user cache + const usersState = savedState.users || {} + usersState.usersObject = {} + const users = usersState.users || [] + each(users, (user) => { usersState.usersObject[user.id] = user }) + savedState.users = usersState + store.replaceState( merge({}, store.state, savedState) ) |
