Skip to content

Commit d8c979f

Browse files
authored
Tighten applyMiddleware types (reduxjs#3766)
Former-commit-id: deea839
1 parent 077b80d commit d8c979f

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/applyMiddleware.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import compose from './compose'
22
import { Middleware, MiddlewareAPI } from './types/middleware'
33
import { AnyAction } from './types/actions'
4-
import { StoreEnhancer, StoreCreator, Dispatch } from './types/store'
4+
import {
5+
StoreEnhancer,
6+
Dispatch,
7+
PreloadedState,
8+
StoreEnhancerStoreCreator
9+
} from './types/store'
510
import { Reducer } from './types/reducers'
611

712
/**
@@ -55,11 +60,11 @@ export default function applyMiddleware<Ext, S = any>(
5560
export default function applyMiddleware(
5661
...middlewares: Middleware[]
5762
): StoreEnhancer<any> {
58-
return (createStore: StoreCreator) => <S, A extends AnyAction>(
63+
return (createStore: StoreEnhancerStoreCreator) => <S, A extends AnyAction>(
5964
reducer: Reducer<S, A>,
60-
...args: any[]
65+
preloadedState?: PreloadedState<S>
6166
) => {
62-
const store = createStore(reducer, ...args)
67+
const store = createStore(reducer, preloadedState)
6368
let dispatch: Dispatch = () => {
6469
throw new Error(
6570
'Dispatching while constructing your middleware is not allowed. ' +

0 commit comments

Comments
 (0)