@@ -194,6 +194,8 @@ export interface Store<S = any, A extends Action = Action, N = never> {
194
194
replaceReducer ( nextReducer : Reducer < S , A > ) : void ;
195
195
}
196
196
197
+ export type DeepPartial < T > = { [ K in keyof T ] ?: DeepPartial < T [ K ] > } ;
198
+
197
199
/**
198
200
* A store creator is a function that creates a Redux store. Like with
199
201
* dispatching function, we must distinguish the base store creator,
@@ -206,7 +208,7 @@ export interface Store<S = any, A extends Action = Action, N = never> {
206
208
*/
207
209
export interface StoreCreator {
208
210
< S , A extends Action , N > ( reducer : Reducer < S , A > , enhancer ?: StoreEnhancer < N > ) : Store < S , A , N > ;
209
- < S , A extends Action , N > ( reducer : Reducer < S , A > , preloadedState : S , enhancer ?: StoreEnhancer < N > ) : Store < S , A , N > ;
211
+ < S , A extends Action , N > ( reducer : Reducer < S , A > , preloadedState : DeepPartial < S > , enhancer ?: StoreEnhancer < N > ) : Store < S , A , N > ;
210
212
}
211
213
212
214
/**
@@ -230,7 +232,7 @@ export interface StoreCreator {
230
232
*/
231
233
export type StoreEnhancer < N = never > = ( next : StoreEnhancerStoreCreator < N > ) => StoreEnhancerStoreCreator < N > ;
232
234
export type GenericStoreEnhancer < N = never > = StoreEnhancer < N > ;
233
- export type StoreEnhancerStoreCreator < N = never > = < S = any , A extends Action = Action > ( reducer : Reducer < S , A > , preloadedState ?: S ) => Store < S , A , N > ;
235
+ export type StoreEnhancerStoreCreator < N = never > = < S = any , A extends Action = Action > ( reducer : Reducer < S , A > , preloadedState ?: DeepPartial < S > ) => Store < S , A , N > ;
234
236
235
237
/**
236
238
* Creates a Redux store that holds the state tree.
0 commit comments