diff --git a/index.d.ts b/index.d.ts index 7c3d6d5..6a27fe4 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,4 +1,4 @@ -import { Action, PreloadedState, Reducer, StoreCreator, StoreEnhancer } from 'redux'; +import { Action, AnyAction, PreloadedState, Reducer, StoreCreator, StoreEnhancer } from 'redux'; declare const REMEMBER_REHYDRATED = "@@REMEMBER_REHYDRATED"; declare const REMEMBER_PERSISTED = "@@REMEMBER_PERSISTED"; type SerializeFunction = (data: any) => any; @@ -14,6 +14,6 @@ type Options = { persistThrottle: number; persistWholeStore: boolean; }; -declare const rememberReducer: (reducers: Reducer) => Reducer; +declare const rememberReducer: = AnyAction>(reducers: Reducer) => Reducer; declare const rememberEnhancer: , Ext>(driver: Driver, rememberedKeys: string[], { prefix, serialize, unserialize, persistThrottle, persistWholeStore }?: Partial) => (createStore: StoreCreator) => (rootReducer: Reducer, initialState?: PreloadedState | undefined, enhancer?: StoreEnhancer | undefined) => import("redux").Store & Ext; export { rememberReducer, rememberEnhancer, REMEMBER_REHYDRATED, REMEMBER_PERSISTED }; diff --git a/package-lock.json b/package-lock.json index 90b6f19..ce1f01f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redux-remember", - "version": "2.1.1", + "version": "2.1.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index bd5fd29..d6d9abc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redux-remember", - "version": "2.1.1", + "version": "2.1.2", "description": "Saves and loads your redux state from a key-value store of your choice", "main": "lib/index.js", "module": "es/index.js", diff --git a/src/index.ts b/src/index.ts index 1af51ef..2966519 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,12 +10,14 @@ import { StoreEnhancer } from 'redux'; -const rememberReducer = (reducers: Reducer): Reducer => { - const data = { +const rememberReducer = ( + reducers: Reducer +): Reducer => { + const data: any = { state: {} }; - return (state = data.state, action: AnyAction) => { + return (state: S = data.state, action: any) => { if (action.type && ( action.type === '@@INIT' || action.type.startsWith('@@redux/INIT') @@ -30,7 +32,7 @@ const rememberReducer = (reducers: Reducer): Reducer => { ...data.state, ...(action.payload || {}) }, - { type: REMEMBER_REHYDRATED } + { type: REMEMBER_REHYDRATED } as any ); return data.state;