@@ -194,6 +194,8 @@ export interface Store<S = any, A extends Action = Action, N = never> {
194194 replaceReducer ( nextReducer : Reducer < S , A > ) : void ;
195195}
196196
197+ export type DeepPartial < T > = { [ K in keyof T ] ?: DeepPartial < T [ K ] > } ;
198+
197199/**
198200 * A store creator is a function that creates a Redux store. Like with
199201 * dispatching function, we must distinguish the base store creator,
@@ -206,7 +208,7 @@ export interface Store<S = any, A extends Action = Action, N = never> {
206208 */
207209export interface StoreCreator {
208210 < 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 > ;
210212}
211213
212214/**
@@ -230,7 +232,7 @@ export interface StoreCreator {
230232 */
231233export type StoreEnhancer < N = never > = ( next : StoreEnhancerStoreCreator < N > ) => StoreEnhancerStoreCreator < N > ;
232234export 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 > ;
234236
235237/**
236238 * Creates a Redux store that holds the state tree.
0 commit comments