import { Middleware } from '@reduxjs/toolkit'; import { CheckoutResult, MiddlewareParams } from '../../../types'; import { setPreOrder } from '../../../redux/reducers/checkout'; export const setPreOrderMiddleware: Middleware = ({ dispatch }: MiddlewareParams) => { return (next) => (action) => { const result = next(action) as CheckoutResult; const preOrder = result?.payload?.pre_order; if (preOrder) { dispatch(setPreOrder(preOrder)); } return result; }; }; Object.defineProperty(setPreOrderMiddleware, 'name', { value: 'setPreOrderMiddleware' });