diff --git a/definitions/npm/redux_v4.x.x/flow_v0.134.x-v0.141.x/test_createStore.js b/definitions/npm/redux_v4.x.x/flow_v0.134.x-v0.141.x/test_createStore.js index 0edc320fdd..a822788641 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.134.x-v0.141.x/test_createStore.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.134.x-v0.141.x/test_createStore.js @@ -50,7 +50,6 @@ const legacyStore9: Store = legacy_createStore(reducer, undefined, myEnhancer); // const s: State = store2.getState() -// $FlowExpectedError[incompatible-type] // $FlowExpectedError[name-already-bound] const s: number = store2.getState() // wrong return type diff --git a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/redux_v4.x.x.js b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/redux_v4.x.x.js index 2631ff1a59..64e2b25ede 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/redux_v4.x.x.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/redux_v4.x.x.js @@ -30,11 +30,6 @@ declare module 'redux' { declare export type Reducer = (state: S, action: A) => S; - declare export type CombinedReducer = ( - state: ($Shape & {...}) | void, - action: A - ) => S; - declare export type Middleware> = ( api: MiddlewareAPI ) => (next: D) => D; @@ -98,9 +93,9 @@ declare module 'redux' { dispatch: D ): C; - declare export function combineReducers( - reducers: O - ): CombinedReducer<$ObjMap(r: Reducer) => S>, A>; + declare export function combineReducers( + reducers: $ObjMap(V) => Reducer>, + ): Reducer; declare export var compose: $Compose; } diff --git a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_applyMiddleware.js b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_applyMiddleware.js index 7e98416b9a..34692e791b 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_applyMiddleware.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_applyMiddleware.js @@ -1,5 +1,5 @@ // @flow -import type { Store as ReduxStore, MiddlewareAPI } from 'redux' +import type { Store as ReduxStore, MiddlewareAPI, Dispatch } from 'redux' import { applyMiddleware, createStore } from 'redux' type State = Array; @@ -11,8 +11,8 @@ const reducer = (state: State = [], action: Action): State => state // applyMiddleware API // -applyMiddleware(); -applyMiddleware(api => next => next); +applyMiddleware>(); +applyMiddleware>(api => next => next); // $FlowExpectedError[incompatible-call] applyMiddleware('wrong'); @@ -20,8 +20,8 @@ applyMiddleware('wrong'); // interaction with createStore // -createStore(reducer, [1], applyMiddleware(api => next => next)) -createStore(reducer, [1], applyMiddleware((api: MiddlewareAPI) => { +createStore(reducer, [1], applyMiddleware>(api => next => next)) +createStore(reducer, [1], applyMiddleware>((api: MiddlewareAPI) => { // $FlowExpectedError[incompatible-type] const s: number = api.getState() // wrong return type // $FlowExpectedError[incompatible-call] diff --git a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_combineReducers.js b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_combineReducers.js index 79d295895c..ae74342173 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_combineReducers.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_combineReducers.js @@ -37,12 +37,11 @@ const reducer0: Reducer = combineReducers({ }) // $FlowExpectedError[incompatible-call] -combineReducers() // wrong reducers argument +combineReducers() // wrong reducers argument // $FlowExpectedError[incompatible-call] -combineReducers([]) // wrong reducers argument +combineReducers(([]: Array)) // wrong reducers argument // $FlowExpectedError[prop-missing] -// $FlowExpectedError[incompatible-type] const reducer1: Reducer = combineReducers({ a: reducerA, name: reducerName diff --git a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_createStore.js b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_createStore.js index 0edc320fdd..b59e7a6e26 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_createStore.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_createStore.js @@ -11,14 +11,12 @@ const reducer = (state: State = [], action: Action): State => state // createStore API // -// $FlowExpectedError[incompatible-type-arg] // $FlowExpectedError[incompatible-call] const store1: Store = createStore(() => ({})); // wrong reducer const store2: Store = createStore(reducer); // $FlowExpectedError[incompatible-call] const store3: Store = createStore(reducer, {}); // wrong initialState shape const store4: Store = createStore(reducer, []); -// $FlowExpectedError[incompatible-type] // $FlowExpectedError[incompatible-call] const store5: Store = createStore(reducer, ['wrong']); // wrong initialState content const store6: Store = createStore(reducer, [1]); @@ -28,14 +26,12 @@ declare var myEnhancer: StoreEnhancer; const store8: Store = createStore(reducer, [1], myEnhancer); const store9: Store = createStore(reducer, undefined, myEnhancer); -// $FlowExpectedError[incompatible-type-arg] // $FlowExpectedError[incompatible-call] const legacyStore1: Store = legacy_createStore(() => ({})); // wrong reducer const legacyStore2: Store = legacy_createStore(reducer); // $FlowExpectedError[incompatible-call] const legacyStore3: Store = legacy_createStore(reducer, {}); // wrong initialState shape const legacyStore4: Store = legacy_createStore(reducer, []); -// $FlowExpectedError[incompatible-type] // $FlowExpectedError[incompatible-call] const legacyStore5: Store = legacy_createStore(reducer, ['wrong']); // wrong initialState content const legacyStore6: Store = legacy_createStore(reducer, [1]); @@ -50,7 +46,6 @@ const legacyStore9: Store = legacy_createStore(reducer, undefined, myEnhancer); // const s: State = store2.getState() -// $FlowExpectedError[incompatible-type] // $FlowExpectedError[name-already-bound] const s: number = store2.getState() // wrong return type diff --git a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_custom_dispatch.js b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_custom_dispatch.js index 557e934466..c5a1718341 100644 --- a/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_custom_dispatch.js +++ b/definitions/npm/redux_v4.x.x/flow_v0.201.x-/test_custom_dispatch.js @@ -36,10 +36,10 @@ ac1(1); // $FlowExpectedError[incompatible-call] bindActionCreators((n: number) => ({ type: 'wrong' }), dispatch); // wrong action -const ac2 = bindActionCreators((n: number) => (dispatch, getState) => {}, dispatch); +const ac2 = bindActionCreators((n: number) => (dispatch: Dispatch, getState: () => State) => {}, dispatch); ac2(1); // $FlowExpectedError[incompatible-call] -bindActionCreators((n: number) => (dispatch, getState) => 'wrong', dispatch); // wrong thunk +bindActionCreators((n: number) => (dispatch: Dispatch, getState: () => State) => 'wrong', dispatch); // wrong thunk // // createStore API