diff --git a/types/recompose/index.d.ts b/types/recompose/index.d.ts index 5fe0c82987..fe93a01466 100644 --- a/types/recompose/index.d.ts +++ b/types/recompose/index.d.ts @@ -78,12 +78,12 @@ declare module 'recompose' { // withHandlers: https://github.com/acdlite/recompose/blob/master/docs/API.md#withhandlers type EventHandler = Function; - type HandleCreators = { - [handlerName: string]: mapper; + type HandleCreators = { + [handlerName in keyof THandlers]: mapper; }; - type HandleCreatorsFactory = (initialProps: TOutter) => HandleCreators; + type HandleCreatorsFactory = (initialProps: TOutter) => HandleCreators; export function withHandlers( - handlerCreators: HandleCreators | HandleCreatorsFactory + handlerCreators: HandleCreators | HandleCreatorsFactory ): InferableComponentEnhancerWithProps; // defaultProps: https://github.com/acdlite/recompose/blob/master/docs/API.md#defaultprops @@ -134,12 +134,12 @@ declare module 'recompose' { // withStateHandlers: https://github.com/acdlite/recompose/blob/master/docs/API.md#withstatehandlers type StateHandler = (...payload: any[]) => TState | undefined; - type StateUpdaters = { - [updaterName: string]: (state: TState, props: TOutter) => StateHandler; + type StateUpdaters = { + [updaterName in keyof TUpdaters]: (state: TState, props: TOutter) => StateHandler; }; export function withStateHandlers( createProps: TState | mapper, - stateUpdaters: StateUpdaters, + stateUpdaters: StateUpdaters, ): InferableComponentEnhancerWithProps; // withReducer: https://github.com/acdlite/recompose/blob/master/docs/API.md#withReducer