22 lines
639 B
JavaScript
22 lines
639 B
JavaScript
import { Iterable, fromJS } from 'immutable'
|
|
import { hydrateCompose } from './compose'
|
|
import { importFetchedAccounts } from './importer'
|
|
|
|
export const STORE_HYDRATE = 'STORE_HYDRATE'
|
|
export const STORE_HYDRATE_LAZY = 'STORE_HYDRATE_LAZY'
|
|
|
|
const convertState = (rawState) => {
|
|
return fromJS(rawState, (k, v) => Iterable.isIndexed(v) ? v.toList() : v.toMap())
|
|
}
|
|
|
|
export const hydrateStore = (rawState) => (dispatch) => {
|
|
const state = convertState(rawState)
|
|
|
|
dispatch({
|
|
type: STORE_HYDRATE,
|
|
state,
|
|
})
|
|
|
|
dispatch(hydrateCompose())
|
|
if (rawState.accounts) dispatch(importFetchedAccounts(Object.values(rawState.accounts)))
|
|
} |