Add transformState function to redux-localstorage

This commit is contained in:
David Broder-Rodgers
2017-12-18 15:55:04 +00:00
parent 6d9978eb72
commit c65e09d6f1
2 changed files with 7 additions and 0 deletions

View File

@@ -26,4 +26,6 @@ export function mergePersistedState(merge?: <A1, A2>(initialState: A1, persisten
export default function persistState<A>(storage?: StorageAdapter<A>, key?: string, callback?: Function): Redux.GenericStoreEnhancer;
export function transformState<A1, A2>(down: ((state: A1) => A2) | Array<(state: any) => any>, up: ((state: A2) => A1) | Array<(state: any) => any>): (storage: StorageAdapter<A1>) => A2;
export const actionTypes: ActionTypes;

View File

@@ -2,6 +2,7 @@ import { Reducer, compose, combineReducers, createStore } from "redux";
import {
default as persistState,
mergePersistedState,
transformState,
actionTypes
} from "redux-localstorage";
import * as adapterAsyncStorage from "redux-localstorage/lib/adapters/AsyncStorage";
@@ -31,3 +32,7 @@ const createStoreLocalStorage = compose(
const createStoreSessionStorage = compose(
persistState(storageSessionStorage, "foo")
)(createStore)(reducer);
const storage = compose(
transformState([JSON.stringify, btoa], [atob, JSON.parse])
)(storageLocalStorage);