Open
Description
I have a codebase using legacy redux patterns and trying to slowly but steadily transition to using modern redux. I have a set of old Actions that are created similiar to ExtraAction
mentioned below. When using the listenerMiddleware
to add a set of type guards as matchers using the isAnyOf
utility as demonstrated below, I see a type error on the matcher.
Also, it seems as the type inferred from the predicate (probably the matcher to) doesn't carry along into effect callback.
interface ExtraAction extends Action {
payload: number
}
function isPayloadAction(action: any): action is ExtraAction {
return (
isFluxStandardAction(action) && typeof action.payload === 'number'
)
}
startListening({
matcher: isAnyOf(isPayloadAction),
effect: (action, listenerApi) => {
expectTypeOf(action).toMatchTypeOf<ExtraAction>()
},
})