import type { AppStartListening } from '@/redux/store'; import { Action, createListenerMiddleware, isRejected } from '@reduxjs/toolkit'; import { handleError } from '@/utils/error-report/errorReporting'; export const errorListenerMiddleware = createListenerMiddleware(); const startListening = errorListenerMiddleware.startListening as AppStartListening; export const errorMiddlewareListener = async (action: Action): Promise<void> => { if (isRejected(action)) { handleError(action.error); } }; startListening({ matcher: isRejected, effect: errorMiddlewareListener, });